用于存储数学表达式并使用的数据类型

时间:2015-03-06 16:44:32

标签: c# math types expression

我想存储数学表达式并执行操作,例如:

a=x^2+2x+1
b=2x+3
c=a+b
writeln(c(4))  -  would calculate and write the answer of 36

是否有一个数学库允许在C#中进行这种编码?

2 个答案:

答案 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的副本。