2009-07-27 15 views
0

下のコードの第2ビットを参照してください。コードがコンパイルされません。私はコンパイル.. VS2008を使用してC#の単純な無名メソッド

をコンパイルしていないウェブ上で見つかったアノンのメソッドを使用していない例アノン方法を把握しようと、私はそれを得る...

でもないです。 ISEVENがあまりにも静的である必要がありますので、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); 
     } 


    } 
} 
+3

今後の参考として、コンパイル時にエラーメッセージが表示された場合に、多くの人に役立ちます。それは通常あなたのコードを梳く人々を救うことができる有用な情報を含んでいます –

答えて

6
public static bool IsEven(int integer) 
{ 
    return (integer % 2 == 0); 
} 

メインは静的です。

+0

...多くのありがとうpb。 –

関連する問題