C#:从文本框转换(识别)数学公式

C#:从文本框转换(识别)数学公式,c#,function,math,textbox,C#,Function,Math,Textbox,我有个问题。在我的应用程序中,我想使用一个在文本框中键入的函数(比如f(x),其中x是变量),例如sin(x)+x*x-5 我想要的是C#将这个函数识别为Math.Sin(x)+x*x-5,换句话说,x是变量 对于x,我有大约2000个数据,比如说xi,其中I=2000,所以我想要的是f(xi)值,对于所有x数据,其中f是文本框中的函数。您要查找的是表达式解析器-即,将文本框中的表达式字符串转换为可以执行的内容(通常是语法树)的一段代码 如果你在谷歌上搜索“数学表达式解析器c#”,你会发现各种各

我有个问题。在我的应用程序中,我想使用一个在文本框中键入的函数(比如
f(x)
,其中
x
是变量),例如
sin(x)+x*x-5

我想要的是C#将这个函数识别为
Math.Sin(x)+x*x-5
,换句话说,
x
是变量


对于x,我有大约2000个数据,比如说
xi
,其中
I=2000
,所以我想要的是
f(xi)
值,对于所有
x
数据,其中
f
是文本框中的函数。

您要查找的是表达式解析器-即,将文本框中的表达式字符串转换为可以执行的内容(通常是语法树)的一段代码


如果你在谷歌上搜索“数学表达式解析器c#”,你会发现各种各样的东西——从产品到简单的例子,比如。

你或你的用户有可能提前定义变量名吗

e、 g.让用户知道他们可以使用“y”、“x”或“n”作为变量名,但不能使用任何其他名称,或者让用户在尝试解析公式之前在程序中定义变量?这将使在文本中识别它们并相应地处理它们变得容易得多


在实际解析表达式时,考虑将其转换为“反向波兰符号”。下面是一个示例程序:

感谢您的回复,Mimo和Dylan。在我的例子中,公式中出现的变量是x。所以,是一个奇点变量;它问我是否缺少一些using指令或程序集引用?谢谢,我认为您必须下载MathparserCode.zip,它将包含您需要的程序集。警告:我没有试过,这只是我在互联网上找到的一个链接。