3

可能重复:
使用 C# 将字符串表达式转换为整数值

我只是想知道 C# / .NET 中是否有任何内置函数可以在运行时解析和评估数学表达式。

我们的用户应该能够将表达式写入文本文件,例如

bmi = weight / (height * height)

然后程序应该能够计算这些公式

对于我们的表达式,我们至少需要这些能力:

  • 基本算术运算 + - * /
  • 括号
  • 计算平方根和自然对数的函数,如 sqrt()、ln()
  • 使用预定义的变量。变量将由我们的程序填充,然后用户应该能够使用它们进行计算。

如果 .NET 中没有这样的东西,是否有可以推荐的库?

好吧,我自己可以编写一个表达式解析器——我知道所有关于它的理论,这甚至是大学里最伟大的事情之一 :-)——但是,感觉就像重新发明轮子一样。

4

1 回答 1

3

在 BCL 中最接近的是Expression类,尽管它没有解析功能。

.NET 有一堆第三方数学表达式 解析器,所以你不需要重新发明轮子。

于 2012-07-20T19:10:31.293 回答