评估字符串表达式并转换为布尔值?

卡莉亚妮·雷迪(Kalyani Reddy)

我想评估字符串表达式并将结果转换为bool。

例如

string expression = !((71 > 70) && (80 > 71)) || 72 < 71 ;

上面的表达式必须求值并返回true。

谁能建议如何评估表达式并返回布尔值?

贾瓦德

我不相信有任何内置的表达式求解器可用于这种表达式评估。我建议使用Microsoft.CodeAnalysis.CSharp.Scripting进行评估。

string expression = "!((71 > 70) && (80 > 71)) || 72 < 71";
bool output = CSharpScript.EvaluateAsync<bool>(expression).Result;
// -> false

您的问题

  • 表达式的计算结果不会为true。我不知道您为什么要假设并要求这样做。执行上述脚本后,生成的布尔值将为false。

!((71 > 70) && (80 > 71)) || 72 < 71
!((true) && (true)) || false
!(true & true)
false

  • 您不能声明不带引号的字符串;string express = "within quotes";以上(string expression = !((71 > 70) && (80 > 71)) || 72 < 71 ;)中的语句不是有效的C#语句。

在#dotnetfiddle上测试代码段

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Jasper报告中的表达式值:“无法从字符串转换为布尔值”错误

如何将字符串转换为布尔值并评估条件?

比较表达式语言中的字符串和布尔值

在Javascript中将复杂的字符串表达式解析为布尔值

在DataFrame中将布尔值转换为字符串

在Julia中从字符串转换为布尔值

Javascript - 将字符串转换为布尔值?

在Python中从字符串转换为布尔值?

json布尔值转换为字符串

TypeScript 将布尔值转换为字符串

评估具有多个布尔值的表达式

将约束表达式评估为布尔值

如何使正则表达式返回字符串中匹配的值而不是 Javascript 中的布尔值

bash-4.3如何将bash中的字符串表达式解释为布尔值

如何解析输入字符串,例如“4>1”,解析表达式并返回布尔值

z3py:符号表达式不能转换为具体的布尔值

为什么布尔布尔值隐式转换为字符串不是错误?

表达式类,将布尔值更改为字符串比较

在java中将字符串转换为表达式

将 docplex 表达式转换为字符串

将Elm表达式转换为字符串

将NCalc表达式转换为字符串

将字符串转换为 SymPy 表达式?

将填充了布尔值的对象转换为布尔值为True的字符串数组

如何将多个熊猫列从字符串布尔值转换为布尔值?

将可变字符串值转换为JavaScript中的表达式

如何在X ++中评估作为字符串给出的布尔表达式[AX 2012]

如何在SQL Server存储过程中评估布尔表达式字符串?

如何在JavaScript中安全地评估以字符串表示的布尔表达式?