在c#中:表达式评估函数就像flash脚本一样

重复: 如何动态评估C#表达式?

另请参阅: C#eval等效?


如何评估表达。 也许喜欢:

int a=1; int b=3; int c=Eval("a+b"); 

要么

 int c=int.parse("1+3*(2+3)"); 

这对我来说似乎很愚蠢。 在c#中有可能吗?

您可以获取代码,并使用CSharpCodeProvider编写一个Eval函数,该函数实际将您的代码编译为内存中的程序集,然后执行该代码。

有关示例源,请参阅此CodeProject文章 。

不是直接的。 C#不包含运行时编译器。 Mono附带了一个开源项目 ,可以做到这一点。

我在“我如何动态评估C#表达式”的答案中列举了几个不同的方法,其中包括各种.NET框架解决方案,如CodeDomProvider,DataBinder.Eval,DataTable.Compute,Document.InvokeScript等。