C#没有直接的这种功能。
我想到有几种解决的方法:
1.运行时编译,通过ICodeCompiler实时编译表达式进行计算,在这里有一个例子:http://www.codeproject.com/csharp/matheval.asp2.用JScript写一段函数:
[eval.js]
class EvalClass
{
function Evaluate(expression: String)
{
return eval(expression);
}
}
然后编译成dll,再在C#代码中调用。如果你需要,我晚些时候可以写一个demo给你3. 自己写个parser。呵呵,最麻烦了,不过这里有个现成的:http://www.csharphelp.com/archives2/archive289.html
我想到有几种解决的方法:
1.运行时编译,通过ICodeCompiler实时编译表达式进行计算,在这里有一个例子:http://www.codeproject.com/csharp/matheval.asp2.用JScript写一段函数:
[eval.js]
class EvalClass
{
function Evaluate(expression: String)
{
return eval(expression);
}
}
然后编译成dll,再在C#代码中调用。如果你需要,我晚些时候可以写一个demo给你3. 自己写个parser。呵呵,最麻烦了,不过这里有个现成的:http://www.csharphelp.com/archives2/archive289.html
源代码的动态编译和执行http://www.WebEndsHere.com/vbpatterns/dyna/dynacodecs.zip
四则运算的面向对象算法和代码。