c#将字符串表达式转换为布尔表达式

sTo*_*rov 10 c# parsing expression-trees

是否可以将字符串表达式转换为布尔条件?

例如,我得到以下字符串:

var b = "32 < 45 && 32 > 20"
Run Code Online (Sandbox Code Playgroud)

我想创建一个bool表达式并调用它.字符串表示也很灵活(使其更有趣),因此它允许||, &&, ().

Ric*_*dOD 5

看看CodePlex 上的Flee(快速轻量表达评估器)。


Sha*_*kai 5

我会使用Irony,.NET 语言工具包。您可以使用 Irony 构建一个简单的语法,然后将字符串解析为可执行命令。在本教程表达式语法示例中有一个很好的算术语法示例,这是一个非常常见的请求;)

我绝对建议使用适当的编译器而不是 Regex 或滚动您自己的方法 - 如果您想添加更多规则,它将更具可扩展性。