Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于存储数学表达式并对其执行操作的数据类型_C#_Math_Types_Expression - Fatal编程技术网

C# 用于存储数学表达式并对其执行操作的数据类型

C# 用于存储数学表达式并对其执行操作的数据类型,c#,math,types,expression,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#进行这种编码?我不知道数学库本身,但你当然可以用它来做你在这里向我们展示的事情。不经意间(编辑:一个更好的例子): 如果每次都要计算相同的表达式,代理是一个好主意,正如@Paul Griffin所建议的那样。但是,如果您有非常不同的表达式,则可能需要构建自

我希望存储数学表达式并使用以下内容执行操作:

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

有没有一个数学库允许用C#进行这种编码?

我不知道数学库本身,但你当然可以用它来做你在这里向我们展示的事情。不经意间(编辑:一个更好的例子):


如果每次都要计算相同的表达式,代理是一个好主意,正如@Paul Griffin所建议的那样。但是,如果您有非常不同的表达式,则可能需要构建自己的解析算法或找到现有的解析算法。在这种情况下,它将是一个重复的。

一点解析,您可以将其作为C#snippet执行。对于委托,我可以定义函数并“存储”它们(不准确,但足以满足我的目的),但是,我不能在委托之间进行+-/*等操作,并将它们“存储”到另一个新单元中以备将来使用。即使是这样,与..@user2558958合作也是非常不明智的。但是你可以根据其他代表的结果给代表打电话。谢谢Paul。。我能用这种方法解决问题。。干杯
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