在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等。