在C#中实现JS Eval

可能重复:
C#eval等价?

重复如何动态评估C#代码?

我们如何在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,那么在DynamicQuery下的MSDN代码库中的C#Samples for Visual Studio 2008中有一个完全可操作的表达式解析器示例 。 这使得不仅可以评估单个表达式,甚至可以从它们或LINQ表达式创建函数(委托)。 ( LinqDataSource控件在内部使用此示例的略微修改版本。)

转到http://json.org/并滚动到底部。 在左栏中查找C#。