août
2009
Si vous cherchiez une logique dans l’ordre que j’utilise pour présenter les opérateurs Linq, ne cherchez plus, il n’y en a aucun (ou presque étant donné que certains opérateurs sont dépendants d’autres opérateurs). Mais excepté ces quelques exceptions, il ne s’agit que d’un bon vieux random pour déterminer l’ordre dans lequel j’allais aborder les opérateurs. Maintenant que tout est dit et que l’on ne cache plus rien du tout, on va passer au sujet principal qui est l’opérateur Reverse.
On reprend notre classe MembreDeveloppez qui nous suit depuis le début :
{
public string Nom { get; set; }
public int NombreMessages { get; set; }
}
Et maintenant, on va considérer que nous avons toujours une liste d’instance de la classe MembreDeveloppez et imaginons que l’on désire obtenir une nouvelle liste avec les mêmes éléments mais dans l’ordre inverse. Vous pensez de suite à ceci ?
C’est faux ! J’ai bien demandé une nouvelle instance alors que dans le cas précédent, c’est la liste originale qui est altérée Bon, blague à part, vous avez surement imaginez le code suivant :
List<MembreDeveloppez> membresReverse = new List<MembreDeveloppez>(); for (int i = membres.Count; i > 0; i–)
{
membresReverse.Add(membres[i – 1]);
}
Je vais même vous faire une confidence qui a tout son sens dans le sujet actuel : même si je savais comment inverser les éléments de ma liste, j’ai quand même passé 5 minutes à corriger mes erreurs d’index pour cet exemple
Tout ça pour dire qu’évidemment avec l’opérateur Reverse de Linq, c’est non plus 5 minutes qu’il vous faudra mais bien 5 secondes (pour les plus rapides bien sûr).
Le temps de taper la ligne de code.
Evidemment, j’ai un peu tricher car Reverse me renvoie non pas une instance de List<MembreDeveloppez> mais un IEnumerable<MembreDeveloppez>. Un autre opérateur pourrait résoudre ce dernier point mais pour en savoir plus, il vous faudra encore un peu attendre.
A la prochaine
Téléchargez les sources (sous Visual Studio 2008).
A voir aussi :
2 Commentaires + Ajouter un commentaire
Déménagement
Next Microsoft CEO
Articles récents
- Changement d’adresse de ce blog
- Article : les nouveautés de C# 5.0
- Modèle Entity Framework généré avec SQL Server 2008 et utilisé sous SQL Server 2005
- Les photos, vidéos et cadeaux des TechDays 2011
- La première journée en ligne sur TechDays TV
- Suivez les TechDays 2011 comme si vous y étiez sur la chaîne TechDays TV
- Téléchargez le programme des conférence des TechDays 2011
- Dernier jour des TechDays = plus de chance de remporter des cadeaux sur le stand de dvp !
- Venez à notre rencontre lors des TechDays 2011
- Les flux à ne pas rater lors des TechDays 2011
- Les TechDays 2011 s’invite sur votre smartphone Windows Phone 7
- Exclu des cadeaux du concours Developpez.com lors des TechDays 2011
- Ouverture de la galerie d’images sur notre site des TechDays
- Partagez votre expérience des Microsoft TechDays
- Grand concours Microsoft “FAN des TechDays 2011” : épisode 2 !
- Mettez-vous aux couleurs des TechDays 2011 !
- Developpez.com aux TechDays 2011
- Le Challenge Azure 2010 est fini !
- Suivez la keynote de la pdc10 en direct sur internet à 18h !
- MVP Visual C# 2010 – 2011 !!!
Merci mon bon Nico
Très bonne initiative mon ptit Jérôme, continue