Kader Yildirim
LINQ à 360 degré, Partie 1
Cet article présente les principales fonctionnalités apportées par LINQ
Par Kader Yildirim publié le 01/06/2007 à 00:22, lu 4793 fois, 7 pages
 4 | Utilisation des types anonymes
Nous pouvons encore simplifier le code initial. En effet dans cet exemple la classe Pays a juste un rôle « utilitaire » c'est-à-dire qu'elle n'est là que pour structurer les données que nous utilisons pour la démonstration.
Avec .Net 3.0 et + Microsoft met à la disposition des développeurs les types anonymes qui permettent de créer des classes à la volée.

Dans ce contexte notre exemple devient :

static void DoJobNewWay2()

        {

            var QuelquesPays = new [] {

                            new { Nom="France", Population=60000000, Superficie=550000},

                            new { Nom="Turquie", Population=70000000, Superficie=750000},

                            new { Nom="Chine", Population=1300000000, Superficie=9600000},

                            new { Nom="USA", Population=300000000, Superficie=9000000},

                            new { Nom="Maroc", Population=31000000, Superficie=450000},

                            new { Nom="Suisse", Population=7500000, Superficie=40000} };

 

            var GrosPays = from p in QuelquesPays

                           where p.Superficie > 1000000

                           select p;

 

            // Operations...

 

            foreach (var p in GrosPays)

            {

                Console.WriteLine(p);

            }

        }

Si vous analysez le code produit vous noterez qu'une classe est générée automatiquement par le compilateur :
 
/content/2f886443-7134-4eaa-9672-e7d6501cdbe9/GeneratedAnonymousClass.PNG
 
Vous remarquerez au passage que le compilateur génère aussi une méthode ToString qui affiche le contenu de la classe (alors que par défaut la méthode ToString d'une classe .Net affiche le nom de ce type) :
 
/content/2f886443-7134-4eaa-9672-e7d6501cdbe9/ToString.PNG
 
 
» Démarrer une discussion
 
Discussion démarée par houcine_kadiri le 05/06/2007 à 11:50, 2 commentaire(s).
Discussion démarée par Laurent Kempé le 01/06/2007 à 14:13, 1 commentaire(s).