如何在C#中将字符串解析为逻辑条件?求推荐NuGet包
推荐几款用于C#解析字符串逻辑条件的NuGet包
以下是几款能满足你需求的NuGet包,可直接将字符串形式的逻辑条件解析为可执行的C#判断逻辑:
Flee
Flee是轻量级表达式解析库,支持将表达式编译为IL,执行性能优异,完全支持布尔逻辑运算。
使用示例:
- 安装包:通过NuGet包管理器安装
Flee,或执行命令:
dotnet add package Flee
- 解析并执行逻辑条件:
using Flee; // 你的JSON配置中的条件字符串 string condition = "(item1 AND item2) OR item3"; // 创建表达式上下文,绑定变量 var context = new ExpressionContext(); context.Variables["item1"] = true; // 替换为实际变量值 context.Variables["item2"] = false; context.Variables["item3"] = true; // 编译并执行布尔表达式 var expression = context.CompileDynamic(condition, typeof(bool)); bool result = (bool)expression.Evaluate(); // 用于if判断 if (result) { // 执行你的逻辑 }
NCalc
NCalc是一款功能丰富的表达式解析库,支持自定义函数、运算符重载,语法兼容常见的逻辑表达式格式。
使用示例:
- 安装包:通过NuGet包管理器安装
NCalc,或执行命令:
dotnet add package NCalc
- 解析并执行逻辑条件:
using NCalc; string condition = "(item1 AND item2) OR item3"; // 创建表达式实例 var expression = new Expression(condition); // 给变量赋值 expression.Parameters["item1"] = true; expression.Parameters["item2"] = false; expression.Parameters["item3"] = true; // 计算结果 bool result = (bool)expression.Evaluate(); if (result) { // 执行你的逻辑 }
ExpressionEvaluator
ExpressionEvaluator是一款轻量、易用的表达式解析库,适合基础的逻辑运算场景,语法简洁直观。
使用示例:
- 安装包:通过NuGet包管理器安装
ExpressionEvaluator,或执行命令:
dotnet add package ExpressionEvaluator
- 解析并执行逻辑条件:
using ExpressionEvaluator; string condition = "(item1 AND item2) OR item3"; // 创建 evaluator 实例 var evaluator = new ExpressionEvaluator.Evaluator(); // 添加变量 evaluator.Variables["item1"] = true; evaluator.Variables["item2"] = false; evaluator.Variables["item3"] = true; // 计算布尔结果 bool result = evaluator.EvaluateBoolean(condition); if (result) { // 执行你的逻辑 }
内容的提问来源于stack exchange,提问作者Harshani
相关产品推荐
相关产品推荐

