可能重复:
C# eval 等效项?
我们如何在 C# 中实现 JS eval() 如果可能的话提供一个例子.. 谢谢
您实际上可以使用eval
C# 中的 JScript 函数...
使用以下 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,在C# Samples for Visual Studio 2008中的DynamicQuery下有一个完全可操作的表达式解析器示例。这使得不仅可以评估单个表达式,甚至可以从它们创建函数(委托)或 LINQ 表达式。(该LinqDataSource
控件在内部使用了此示例的略微修改版本。)
转到http://json.org/并滚动到底部。在左栏中查找 C#。