Dav*_*eer 0 c# delegates anonymous-methods
请参阅下面的第二位代码..代码无法编译.我试图找出anon方法,我明白了..
但不是不使用我在网上找到的匿名方法的例子,它不能编译
使用VS2008 ..编译到.NET3.5
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TestAnonymousMethods
{
public class Program
{
// using an anon method
static void Mainx(string[] args)
{
int[] _integers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int[] evenIntegers = Array.FindAll(_integers,
// this is the anonymous method below
delegate(int integer)
{
return (integer % 2 == 0);
}
);
foreach (int integer in _integers)
Console.WriteLine(integer);
foreach (int integer in evenIntegers)
Console.WriteLine(integer);
}
// not using anon method
static void Main(string[] args)
{
int[] _integers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int[] evenIntegers = Array.FindAll(_integers, IsEven); // **Compile error here**
foreach (int integer in _integers)
Console.WriteLine(integer);
foreach (int integer in evenIntegers)
Console.WriteLine(integer);
}
public bool IsEven(int integer)
{
return (integer % 2 == 0);
}
}
}
Run Code Online (Sandbox Code Playgroud)
public static bool IsEven(int integer)
{
return (integer % 2 == 0);
}
Run Code Online (Sandbox Code Playgroud)
Main是静态的,因此IsEven也必须是静态的.