当给定一个数组:
int[] a={1,3,4,5,67,8,899,56,12,33}
如果我希望使用LINQ返回偶数,请使用如下代码:
var q=a.where(p=>p%2==0)
如果我使用C#2.0和strictly func<> delegate,该如何解决呢?
我尝试过:
Func<int, bool> func = delegate(int val) { return val % 2 == 0; };
但是我很困惑如何在这里链接数组“a”。
int[] q = Array.FindAll<int>(a, delegate(int p) { return p % 2 == 0; });
(请注意,这里使用了Predicate<int>
,它与Func<int,bool>
具有相同的签名。)
你可以使用Predicate
和Array.FindAll
。
Predicate<int> func = delegate(int val) { return val % 2 == 0; };
Array.FindAll<int>(a, func);