-5

可能重复:
动态计算字符串表达式的结果

我将以下公式保存在 XML 中作为元素值-“d1 * 2”。
在我从 XML 中将其提取为字符串后,如何为“d1”赋值
并计算公式结果?

4

1 回答 1

1

这看起来正是您正在寻找的:

https://github.com/Giorgi/Math-Expression-Evaluator

作者对这里的用法和设计做了非常好的和彻底的记录:

http://www.aboutmycode.com/net-framework/building-expression-evaluator-with-expression-trees-in-csharp-table-of-contents/

用法如下(从示例中复制):

var a = 6;
var b = 4.32m;
var c = 24.15m;
var result = engine.Evaluate("(((9-a/2)*2-b)/2-a-1)/(2+c/(2+4))", new { a, b, c});

当然,谷歌是你的朋友……还有很多其他的,但到目前为止,这看起来是最成熟的项目。

编辑:这个其他 SO 答案也提到了 NCalc,这是类似的:https ://stackoverflow.com/a/10063089/381587

于 2012-10-13T23:35:35.937 回答