You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中将字符串解析为逻辑条件?求推荐NuGet包

推荐几款用于C#解析字符串逻辑条件的NuGet包

以下是几款能满足你需求的NuGet包,可直接将字符串形式的逻辑条件解析为可执行的C#判断逻辑:

Flee

Flee是轻量级表达式解析库,支持将表达式编译为IL,执行性能优异,完全支持布尔逻辑运算。

使用示例:

  1. 安装包:通过NuGet包管理器安装Flee,或执行命令:
dotnet add package Flee
  1. 解析并执行逻辑条件:
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是一款功能丰富的表达式解析库,支持自定义函数、运算符重载,语法兼容常见的逻辑表达式格式。

使用示例:

  1. 安装包:通过NuGet包管理器安装NCalc,或执行命令:
dotnet add package NCalc
  1. 解析并执行逻辑条件:
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是一款轻量、易用的表达式解析库,适合基础的逻辑运算场景,语法简洁直观。

使用示例:

  1. 安装包:通过NuGet包管理器安装ExpressionEvaluator,或执行命令:
dotnet add package ExpressionEvaluator
  1. 解析并执行逻辑条件:
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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 06:30:01