Func <>委托 - 澄清

use*_*677 4 c# delegates func c#-2.0

给出数组时:

int[] a={1,3,4,5,67,8,899,56,12,33}
Run Code Online (Sandbox Code Playgroud)

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

var q=a.where(p=>p%2==0)
Run Code Online (Sandbox Code Playgroud)

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

我试过了 :

Func<int, bool> func = delegate(int val) { return val % 2 == 0; };
Run Code Online (Sandbox Code Playgroud)

但我很困惑如何在这里链接数组"a".

Mar*_*ell 11

int[] q = Array.FindAll<int>(a, delegate(int p) { return p % 2 == 0; });
Run Code Online (Sandbox Code Playgroud)

(注意这用Predicate<int>,与签名相同Func<int,bool>)