Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Func<&燃气轮机;代表-澄清_C#_Delegates_C# 2.0_Func - Fatal编程技术网

C# Func<&燃气轮机;代表-澄清

C# Func<&燃气轮机;代表-澄清,c#,delegates,c#-2.0,func,C#,Delegates,C# 2.0,Func,当给定一个数组时: 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 delegate,那么解决方法是什么 我试过: Func<int, bool> func = delegate(int val) { return val % 2 == 0; }; Func Func=delegate(int val){return val%2==0

当给定一个数组时:

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 delegate,那么解决方法是什么

我试过:

Func<int, bool> func = delegate(int val) { return val % 2 == 0; };
Func Func=delegate(int val){return val%2==0;};
但是我不知道如何在这里链接数组“a”。

int[]q=array.FindAll(a,委托(intp){returnp%2==0;});
(注意这使用了
谓词
,它与
Func
的签名相同)

您可以使用和

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

Array.FindAll<int>(a, func);