将数学字符串表达式赋值为double变量

时间:2012-07-24 10:44:52

标签: c#-4.0

我有一个字符串形式的数学表达式,如:

string strExpression = "10+100+Math.Sin(90)";

我想简单地将此表达式(在运行时)分配给float变量(比如result),以便它成为以下代码语句:

float result = 10+100+Math.Sin(90);

我该怎么做?

2 个答案:

答案 0 :(得分:1)

您必须在语法正确的代码块中编译表达式。请参阅http://devreminder.wordpress.com/net/net-framework-fundamentals/c-dynamic-math-expression-evaluation/作为示例。

编辑:或者如果表达式非常简单,可以编写自己的表达式解析器(我不建议这样做)

答案 1 :(得分:0)

如果您不想编写自己的解析器,而是使用您已经知道的C#,则可以使用CS-Script动态创建一个可以运行的方法的类。