在C#中,没有内置的eval函数,但可以通过动态编译代码来实现类似的功能。下面是一个简单的示例,演示如何使用C#的动态编译功能来执行字符串表达式:
using System;using Microsoft.CodeAnalysis.CSharp.Scripting;using Microsoft.CodeAnalysis.Scripting;class Program{ static void Main() { string code = "2 + 3"; ScriptOptions options = ScriptOptions.Default.WithReferences(typeof(System.Object).Assembly); var result = CSharpScript.EvaluateAsync<int>(code, options).Result; Console.WriteLine(result); // 输出结果为 5 }}在上面的示例中,我们使用CSharpScript.EvaluateAsync方法来执行字符串表达式"2 + 3",并将结果输出到控制台。需要注意的是,这种方法只适用于简单的表达式,对于复杂的代码逻辑可能不够灵活。


