在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"
,并將結果輸出到控制臺。需要注意的是,這種方法只適用于簡單的表達式,對于復雜的代碼邏輯可能不夠靈活。