gpt4 book ai didi

c# - 从字符串计算自定义 bool 表达式

转载 作者:太空宇宙 更新时间:2023-11-03 19:14:40 25 4
gpt4 key购买 nike

我有一串来自客户端的参数。一个例子可能是:

string param = "(NAME.FULLNAME AND DOB.OPTIONAL) OR (ID AND DOB.REQUIRED) OR (ID AND COUNTRY)"

现在,我已经解析了所有传入的数据,并用 bool 值表示每个参数。

喜欢:

bool name_FullName = true;
bool dob_Optional = false;

等等

我正在尝试找到将客户参数表达式评估为 True 或 False 的最佳方法。

我正在考虑将参数替换为真/假 bool 值。然后找到任何 TRUE AND TRUE 并删除它们,并将 TRUE AND FALSE 替换为 false。然后评估我剩下的 OR 表达式。

输入后,这似乎是个不错的选择。有没有人有我所缺少的更快的解决方案?

最佳答案

另一种选择是创建一个 DataTable 并使用 Select 方法。

// create data table
var data = new DataTable();
data.Columns.Add("NAME.FULLNAME", typeof(bool));
data.Columns.Add("DOB.OPTIONAL", typeof(bool));
data.Columns.Add("ID", typeof(bool));
data.Columns.Add("DOB.REQUIRED", typeof(bool));
data.Columns.Add("COUNTRY", typeof(bool));

// fill data table
data.Rows.Add(true, false, true, true, false);

// see if it's a match
var isMatch = data.Select("(NAME.FULLNAME AND DOB.OPTIONAL) OR (ID AND DOB.REQUIRED) OR (ID AND COUNTRY)").Any();

关于c# - 从字符串计算自定义 bool 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17934182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com