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-23 extrait du chapitre Collections


Exemple 15-22<     > Exemple 15-24


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


Exemple_15_23.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 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(delegate(int i){return i%2==0;});

      // Somme les éléments de la liste.
      // Utilisation implicite d'un délégué de type Action<T>.
      int sum = 0;
      integers.ForEach(delegate(int i) { sum += i; });

      // 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(delegate(Article x, Article y){
         return Comparer<decimal>.Default.Compare(x.Prix,y.Prix); });

      // 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>(
         delegate(Article article) { return (decimal)article.Prix; });
   }
}	
Copyright Patrick Smacchia 2006 2007