C# 在C中实现jseval#
可能重复:C# 在C中实现jseval#,c#,javascript,eval,C#,Javascript,Eval,可能重复: 副本 如何在C中实现JS eval()# 如果可能,请提供一个例子。。 谢谢您实际上可以使用C#中的JScripteval函数 使用以下JScript代码创建一个文件JsMath.js: class JsMath { static function Eval(expression : String) : double { return eval(expression); }; } 将其编译为DLL: jsc /t:library JsMat
副本 如何在C中实现JS eval()# 如果可能,请提供一个例子。。
谢谢您实际上可以使用C#中的JScript
eval
函数
使用以下JScript代码创建一个文件JsMath.js:
class JsMath
{
static function Eval(expression : String) : double
{
return eval(expression);
};
}
将其编译为DLL:
jsc /t:library JsMath.js
将对JsMath.dll的引用添加到项目中。现在,您可以在代码中使用JsMath类:
double result = JsMath.Eval(expression);
如果您可以使用C#3.0/.NET 3.5,那么在MSDN代码库的DynamicQuery下有一个完全可操作的表达式解析器示例。这使得不仅可以计算单个表达式,甚至可以从它们创建函数(委托),或LINQ表达式。(
LinqDataSource
控件在内部使用此示例的稍微修改版本。)转到并滚动到底部。请在左列中查找C#。您是否可以将其包含到项目MSScript.dll中,如果可以,我将提供答案a=“/100”;a、 替换(“20”);字符串b=评估值(a);因此,我应该得到.2。我如何在C#中不使用JScript就可以做到这一点呢?取代eval(a);对于任何.NET语言中的快速评估,这是一个非常实用的解决方案。您还需要包括对Microsoft.JScript.dll的引用。