2009-07-27 6 views
0

Voir le deuxième bit de code ci-dessous .. le code ne compile pas. Essaie de comprendre les méthodes anon, et je l'obtenir ..Méthode anonyme simple en C#

Mais pas l'exemple de ne pas utiliser les méthodes anon que je trouve sur le web, qui ne compile pas

En utilisant VS2008 .. compilation à. 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

Pour référence ultérieure, il peut aider beaucoup de gens si vous obtenez une erreur de compilation si vous incluez le message d'erreur avec votre question. Il contient généralement des informations utiles qui peuvent sauver les gens peignant votre code –

Répondre

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

principal est statique si ISEVEN doit être statique aussi.

+0

... merci beaucoup pb. –

Questions connexes