使用查询字符串筛选c#对象列表
我正在开发一个C#MVC项目,我有一个对象列表,如下所示:使用查询字符串筛选c#对象列表,c#,list,parsing,C#,List,Parsing,我正在开发一个C#MVC项目,我有一个对象列表,如下所示: var list = [{ ID: 100, PRODUCTNO: 500, PARAMETER: TEST0, VALUE: 120 }, { ID:101, PRODUCTNO:501, PARAMETER:TEST1,
var list = [{
ID: 100,
PRODUCTNO: 500,
PARAMETER: TEST0,
VALUE: 120
},
{
ID:101,
PRODUCTNO:501,
PARAMETER:TEST1,
VALUE:121
},
{
ID:102,
PRODUCTNO:502,
PARAMETER:TEST2,
VALUE:122
},
{
ID:103,
PRODUCTNO:503,
PARAMETER:TEST3,
VALUE:123
}]
我需要使用如下查询字符串从该列表中筛选数据:
"((PRODUCTNO==502 && VALUE>121)||(PARAMETER=='TEST3' && VALUE<=(56x3.14)))"
”((PRODUCTNO==502&&VALUE>121)| |(PARAMETER=='TEST3'&&VALUE实际上,您这里有一种特定于域的语言。您需要的是它的解析器
您可以自己构建一个。在线提供了大量有用的教程和讨论。如果您想沿着这条路线前进,搜索领域特定语言
和递归下降解析器
(例如)等将很有帮助
如果你没有耐心或者没有意愿从头开始学习如何编写自己的语言,那么有很多库和框架可以构建,有几种方法可以实现。类似或类似的东西可能会有用
既然你想允许像value这样的计算,你方有什么努力来实现这一点吗?实际上我不知道从哪里开始。我只有列表和查询字符串。