这是一个非常不寻常的解决方案,涉及JScript:
使用以下代码创建JScript类:
public class JsMath {
public static function Eval(expression:String) : Object {
return eval(expression);
}
}
Run Code Online (Sandbox Code Playgroud)将其编译为DLL:
jsc /target:library /out:JsMath.dll JsMath.js
Run Code Online (Sandbox Code Playgroud)在您的C#项目中,引用JsMath.dll和Microsoft.JScript.dll
现在您可以使用以下Eval
方法:
string expression = "((34 > 0) || ('US' == 'ES')) && (4312 == 5691)";
bool result = (bool)JsMath.Eval(expression);
Run Code Online (Sandbox Code Playgroud)优点:
缺点:
归档时间: |
|
查看次数: |
5809 次 |
最近记录: |