Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何计算三元字符串表达式并识别值_C#_Regex_Expression_Conditional Operator - Fatal编程技术网

C# 如何计算三元字符串表达式并识别值

C# 如何计算三元字符串表达式并识别值,c#,regex,expression,conditional-operator,C#,Regex,Expression,Conditional Operator,价值=14000 三元字符串表达式的值是否大于20000?200:价值>15000&&value

价值=14000

三元字符串表达式的值是否大于20000?200:价值>15000&&value<19999?150:100

答案应该是100

有什么方法可以计算表达式的值吗

您可以使用来计算表达式

脚本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);

您可以使用来计算表达式

脚本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);

根据记录,如果值为19999或20000,则该表达式将计算为100,但我怀疑它应该是150。<19999部分的值应该是记录的值,如果值是19999或20000,表达式将计算为100,但我怀疑它应该是150。小于19999部分的值应该是value