在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#。