1

可能重复:
C# eval 等效项?

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

我们如何在 C# 中实现 JS eval() 如果可能的话提供一个例子.. 谢谢

4

3 回答 3

4

您实际上可以使用evalC# 中的 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);
于 2009-08-11T12:44:54.500 回答
0

如果您可以使用 C# 3.0 / .NET 3.5,在C# Samples for Visual Studio 2008中的DynamicQuery下有一个完全可操作的表达式解析器示例。这使得不仅可以评估单个表达式,甚至可以从它们创建函数(委托)或 LINQ 表达式。(该LinqDataSource控件在内部使用了此示例的略微修改版本。)

于 2009-08-11T12:53:43.520 回答
-1

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

于 2009-08-12T12:24:35.983 回答