2

I have a mathematical expression in string form like:

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

I want to simply assign this expression (at run time) to a float variable (say result), so that it becomes the following code statement:

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

How can I do this?

4

2 回答 2

1

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

编辑:或者如果表达式非常简单,或者编写自己的表达式解析器(虽然我不推荐这个)

于 2012-07-24T10:48:02.283 回答
0

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

于 2012-07-24T11:05:13.800 回答