octobre
2009
Et oui ! Je me suis sûrement très bien reposé (trop ?) pendant les vacances et c’est pour ça que j’attaque un second billet le même jour ! On va même découvrir deux opérateurs en même temps : Min et Max.
Encore et toujours avec la classe MembreDeveloppez, comment feriez-vous pour récupérer le nombre maximum de messages écrits par un membre ?
Un exemple :
foreach (var currentMembre in membres)
{
if (maxMessages < currentMembre.NombreMessages)
{
maxMessages = currentMembre.NombreMessages;
}
} Console.WriteLine(« Nombre maximum de messages écrits : {0} », maxMessages);
Avec les opérateurs Linq, on va tout simplement utiliser Max sur notre liste de membres :
Le hic dans la solution avec l’opérateur Max, c’est qu’on n’obtient pas le membre de developpez.com qui a écrit le plus de messages. Du moins, ce n’est pas possible avec cette surcharge de l’opérateur Max. En fait, il est possible de récupérer l’instance MembreDeveloppez en utilisant la surcharge de Max sans aucun argument. Evidemment, il faudra implémenter l’interface IComparable<T> au niveau du la classe MembreDeveloppez pour que la comparaison puisse se faire correctement.
On aura donc pour la classe MembreDeveloppez :
{
// …
public string Nom { get; set; }
public int NombreMessages { get; set; }
public int CompareTo(MembreDeveloppez other)
{
return this.NombreMessages.CompareTo(other.NombreMessages);
}
}
Et au final, nous aurons :
Et l’opérateur Min dans tout ça ? J’ai honte de montrer un exemple mais par principe, je vais quand même le faire Donc avec l’opérateur, on va tout simplement pouvoir récupérer la valeur minimale dans notre collection comme ceci :
SampleLibrary.
MembreDeveloppez membreLePlusDiscret = membres.Min(); Console.WriteLine(« Le membre le plus discret est {0} avec {1} messages. », membreLePlusDiscret.Nom, membreLePlusDiscret.NombreMessages);Allez, c’est définitivement fini pour aujourd’hui !
Et bon week end d’avance
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 !!!