Home
Browsez les 647 exemples
Téléchargez les 647 exemples
Téléchargez des chapitres
Achetez sur amazon.fr

Niveau: Débutant/Intermédiaire
ISBN-2-84177-339-6
50 Euros

Exemple 15-22 extrait du chapitre Collections


Exemple 15-21<     > Exemple 15-23


Cet exemple peut être compilé avec la ligne de commande:
csc.exe /target:exe Exemple_15_22.cs
Erreurs: 0 Avertissements: 0
Remarque:


Exemple_15_22.cs
using System.Collections.Generic;
class Program {
   class Article {
      public Article(decimal prix,string name){Prix=prix; Name=name;}
      public readonly decimal Prix;
      public readonly string  Name;
   }

   static bool IsEven(int i) { return i % 2 == 0; }
   static int sum = 0;
   static void AddToSum(int i) { sum += i; }
   static int CompareArticle(Article x, Article y){
      return Comparer<decimal>.Default.Compare(x.Prix, y.Prix);
   }
   static decimal ConvertArticle(Article article){
      return (decimal)article.Prix;
   }

   static void Main(){
      // Recherche de tous les entiers pairs.
      // Utilisation implicite d'un délégué de type Predicate<T>.
      List<int> integers = new List<int>();
      for(int i=1; i<=10; i++) 
         integers.Add(i);
      List<int> even = integers.FindAll( IsEven );

      // Somme les éléments de la liste dans le champ statique sum.
      // Utilisation implicite d'un délégué de type Action<T>.
      integers.ForEach( AddToSum );

      // Tri d'une liste d'éléments d'un type complexe.
      // Utilisation implicite d'un délégué de type Comparison<T>.
      List<Article> articles = new List<Article>();
      articles.Add( new Article(5,"Tongues") );
      articles.Add( new Article(3,"Ballon") );
      articles.Sort( CompareArticle );

      // Cast des éléments d'une liste d'éléments d'un type complexe.
      // Utilisation implicite d'un délégué de type Converter<T,U>.
      List<decimal> artPrix = 
                articles.ConvertAll<decimal>( ConvertArticle );
   }
}	
Copyright Patrick Smacchia 2006 2007