4

当给定一个数组时:

int[] a={1,3,4,5,67,8,899,56,12,33}

如果我希望使用 LINQ 返回偶数

var q=a.where(p=>p%2==0)

如果我要使用 C#2.0 并严格使用 func<> 委托,那么解决它的方法是什么?

我试过了 :

Func<int, bool> func = delegate(int val) { return val % 2 == 0; };

但我很困惑如何在这里链接数组“a”。

4

2 回答 2

11
int[] q = Array.FindAll<int>(a, delegate(int p) { return p % 2 == 0; });

(note this uses Predicate<int>, which is the same signature as Func<int,bool>)

于 2009-11-10T17:29:16.057 回答
4

You can use Predicate and Array.FindAll.

Predicate<int> func = delegate(int val) { return val % 2 == 0; };

Array.FindAll<int>(a, func);
于 2009-11-10T17:32:38.163 回答