如何在c#/.net中计算数学表达式
可能重复:如何在c#/.net中计算数学表达式,c#,.net,parsing,expression,C#,.net,Parsing,Expression,可能重复: 我只是想知道C#/.NET中是否有内置函数,以便在运行时解析和计算数学表达式 我们的用户应该能够将表达式写入文本文件,如 bmi = weight / (height * height) 然后程序应该能够计算这些公式 对于表达式,我们至少需要以下功能: 基本算术运算+-*/ 括号 用于计算平方根和自然对数的函数,如sqrt(),ln() 使用预定义变量。变量将由我们的程序填写,然后用户应该能够使用它们进行计算 如果.NET中没有这样的东西,您可以推荐一个库吗 嗯,我可以自己写
我只是想知道C#/.NET中是否有内置函数,以便在运行时解析和计算数学表达式 我们的用户应该能够将表达式写入文本文件,如
bmi = weight / (height * height)
然后程序应该能够计算这些公式
对于表达式,我们至少需要以下功能:
- 基本算术运算+-*/
- 括号
- 用于计算平方根和自然对数的函数,如sqrt(),ln()
- 使用预定义变量。变量将由我们的程序填写,然后用户应该能够使用它们进行计算
嗯,我可以自己写一个表达式解析器-我知道所有关于它的理论,这甚至是大学里最伟大的事情之一:-)-但是,它仍然感觉像是在重新发明轮子。在BCL中你能得到的最接近的是类,尽管它将具有无解析功能
NET有许多数学表达式解析器,因此您不需要重新发明轮子。我建议将标题改为“用于评估的库…”,因为这并不是问如何实现这一目标。(+1)同意,不要重新发明轮子。开发人员的工作是提供解决方案,而不是构建酷炫的东西(不一定是同一件事!)@PatrickPitre——尽管一个快乐的开发人员最终会同时做这两件事;)我使用过NCalc(第一个链接),它非常容易使用。@Oded的确,正是这些难得的时刻让这一切变得值得!