我正在调用一个接受参数Predicate T
的过滤方法void MethodName(Predicate<T> param)
{
}
x.MethodName(x => x.SomeProperty == 10); // or
x.MethodName(delegate(MyClass x) {return x.SomeProperty == 10;});
问题是我需要能够过滤几个不同的值,并且值的数量是未知的。具有3个值的示例ouwld是
x.MethodName(x => x.SomeProperty == 10 || x => x.SomeProperty == 20); // or
x.MethodName(delegate(MyClass x) {return x.SomeProperty == 10 || x.SomeProperty == 20;});
我可以使用未知数量的可能值吗?这将是很大的,但它不可能:)
x.MethodName(x => x.SomeProperty == {10, 20});
谢谢, 戈兰
答案 0 :(得分:1)
x.MethodName(x => new []{10, 20}.Contains(x.SomeProperty));