如何评估三元字符串表达式并识别值

How to evaluate Ternary string expression and identify value

值 = 14000;

三元字符串表达式为“value > 20000 ? 200 : value > 15000 && value < 19999 ? 150 : 100

答案应该是 100

有什么方法可以评估表达式吗?

您可以使用 Scripting APIs 来计算表达式。

脚本 API 使 .NET 应用程序能够实例化 C# 引擎并针对主机提供的对象执行代码片段,并且需要 Microsoft.CodeAnalysis.CSharp.Scripting 包。

例如,

var globals = new Global();
var str = "value > 20000 ? 200 : value > 15000 && value < 19999 ? 150 : 100 ";
var result = await CSharpScript.EvaluateAsync(str,globals:globals);
Console.WriteLine(result);

其中全局定义为

public class Global
{
    public int @value = 14000;
}

Working Demo