C# 创建lambda表达式

C# 创建lambda表达式,c#,C#,我试图过滤一个绑定到网格的对象列表。现在我想根据用户要求筛选此列表。 我用组合框选择要筛选的字段,用文本框输入值。用户可以从中选择ItemCode、Cost或与Item类相关的任何属性。那么如何根据所选字段和输入的值创建lambda表达式 一个灵活但不是很简单的选择是使用动态LINQ。您可以基于用户选择构造查询,甚至可以使用多个带有and和OR运算、比较运算符等的属性,并使用它来过滤结果。这里是动态LINQ 另一个简单的选择是为类中的每个属性都提供一个巨大的开关盒 ... case "ItemC

我试图过滤一个绑定到网格的对象列表。现在我想根据用户要求筛选此列表。
我用组合框选择要筛选的字段,用文本框输入值。用户可以从中选择ItemCode、Cost或与Item类相关的任何属性。那么如何根据所选字段和输入的值创建lambda表达式

一个灵活但不是很简单的选择是使用动态LINQ。您可以基于用户选择构造查询,甚至可以使用多个带有and和OR运算、比较运算符等的属性,并使用它来过滤结果。这里是动态LINQ

另一个简单的选择是为类中的每个属性都提供一个巨大的开关盒

...
case "ItemCode":
       results = records.Where(i => i.ItemCode == criteriaValue);
       break;
case "Cost":
       results = recotds.Where(i => i.Cost == Convert.ToDouble(criteriaValue));
       break;
...