我想存储数学表达式并执行操作,例如:
a=x^2+2x+1
b=2x+3
c=a+b
writeln(c(4)) - would calculate and write the answer of 36
是否有一个数学库允许在C#中进行这种编码?
答案 0 :(得分:0)
我本身并不了解数学图书馆,但您可以使用delegates完成您向我们展示的内容。脱离我的头脑(编辑:一个更好的例子):
delegate int myDelegate(int x);
var a = new myDelegate(x => (Math.Pow(x, 2)) + (2*x) + 1));
var b = new myDelegate(x => (2*x) + 3);
var c = new myDelegate(x => a(x) + b(x));
Console.WriteLine(c(4));
//Output: 36
答案 1 :(得分:0)
如果你想每次计算相同的表达式,代表们就像@Paul Griffin建议的那样好。但是如果你有非常不同的表达式,你可能需要构建自己的解析算法或找到现有的解析算法。在这种情况下,它将是Parse Math Expression的副本。