使用查询字符串筛选c#对象列表

使用查询字符串筛选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,

我正在开发一个C#MVC项目,我有一个对象列表,如下所示:

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这样的计算,你方有什么努力来实现这一点吗?实际上我不知道从哪里开始。我只有列表和查询字符串。