我有一个类,其中包含多个 int
属性:
class Foo
{
string bar {get; set;}
int a {get; set;}
int b {get; set;}
int c {get; set;}
}
我有一个LINQ表达式,希望能在List<Foo>
上使用。我希望能够使用这个表达式通过查看任何三个属性来过滤/选择列表。例如,如果我按a
进行过滤:
return listOfFoo.Where(f => f.a >= 0).OrderBy(f => f.a).Take(5).Select(f => f.bar);
然而,我希望能够对f.a
、f.b
或f.c
中的任何一个进行过滤。不想重复输入3次LINQ表达式,希望有一种方法可以通过参数指定要过滤的a、b或c,并返回结果。
有没有在C#中实现这个功能的办法?目前没有明显的解决思路,但是感觉应该是可行的。
Dynamic Linq
吗? - Pratik Gaikwad