Home Downloads Account Forum Search FAQ Members_List Logout

Tout sur l'informatique - Programmation C#, Sécurité, Divx, P2P
  Inscrivez-vous !  
Fermer ce volet
 Fermer ce bloc
Menu
 Accueil
 Les Sujets et Les Articles
 Informatique
 Programmation C#
 Sécurité & Hacking
 Astuces Windows
 Divx & P2P
 Smartphones
 Cryptographie
 Webmaster
 Cours Delphi Programmation
 Hoax
 MSN
 Divers
 News
 Jeux Video
 Android OS
 Excel
 Communauté
 Forums
 T'Chat IRC
 Downloads et Liens Web
 Téléchargements
 Liens
 Peer To Peer
 Contenu
 Content
 Encyclopedie
 Reviews
 Top 10
 FAQ
 Infos
 Statistiques
 Search

 Fermer ce bloc
Partenaires

Ogame

Angry Birds Solution

Aide Ogame


C# Trier un dictionnaire (Dictionary) par valeur  
Programmation C# .NET
Trier un dictionnaire par valeur peut être utile en C# si on n'a un dictionary de clés et de valeurs. Par exemple : la clé peut être un mot (string) et la valeur un entier (int) représentant la fréquence d'apparition de ce mot dans un texte.
La collection Dictionnary peut facilement être triée par clés mais le tri par valeur est un peu plus compliqué.

Il y a plusieurs solutions qui pourrait venir à l'esprit pour trier un dictionnaire en C#.

Les SortedDictionary sont une collection adaptée sauf que le tri se fait sur les clés (key) et non sur les valeurs. C'est toutesfois un type de collection qui peut s'avérer fort utile mais dans notre cas, nous ne pourrons pas les utiliser.
Il existe également les SortedList mais celle-ci ne sont utile que pour contenir une liste triée d'un type d'objet (exemple : une liste de mots sous forme de string).
Pour trier un dictionnaire en fonction de ses valeurs, nous allons créer une liste de KeyValuePair qui contiendra les 2 éléments du dictionnaire (clé et valeur) triés par valeur.


List<KeyValuePair<string, string>> maListe = new List<KeyValuePair<string, string>>(s)



maListe.Sort((elt1,elt2) =>
   
{
       
return elt1.Value.CompareTo(elt2.Value);
   
}
);


ou plus simplement :

myList.Sort((x,y)=>x.Value.CompareTo(y.Value));



On peut également conserver le dictionnaire initial et utiliser LINQ.

Exemple d'utilisation de LINQ pour trier un dictionnaire par valeur en C# :


System.Collections.Generic.Dictionary<string, int> monDictionnaire = new Dictionary<string, int>();
    myDict
.Add("un", 1);
    myDict
.Add("quatre", 4);
    myDict
.Add("deux", 2);
    myDict
.Add("trois", 3);

   
var DicoTrie = (from entry in monDictionnaire orderby entry.Value ascending select entry);


Bon courage

Posté le Lundi 02 mai 2011 à 01:58:03 par zmaster
"C# Trier un dictionnaire (Dictionary) par valeur" | Connexion/Créer un compte | 0 commentaires
Les commentaires sont la propriété de leurs auteurs. Nous ne sommes pas responsables de leurs contenus !

Les commentaires anonymes ne sont pas autorisés, veuillez vous enregistrer
 
 Fermer ce bloc Liens connexes
· Plus à propos de Programmation C# .NET
· Nouvelles transmises par zmaster

L'article le plus lu à propos de Programmation C# .NET:
C# Copier un objet sans implémenter ICloneable

 Fermer ce bloc Estimer cet Article
Score Moyen: 5
Votes: 1


Merci de prendre une seconde et de voter pour cet article:

Excellent
Très Bon
Bon
Moyen
Mauvais

 Fermer ce bloc Options

 Format imprimable Format imprimable

 Format PDF Format PDF

 Envoyer cet article à un(e) ami(e) Envoyer cet article à un(e) ami(e)



Conditions d'utilisation

Tous les logos et marques sont des Propriétés respectives. Les commentaires sont la propriété respective de ceux qui les postent, tout le reste © 2006-2011 est personnel.
Tous droits réservés. PHP-MaXiMuS est un logiciel libre en version GNU/GPL license .
Copyright 2005 PHP-MaXiMuS .

[ Page générée en 0.3774 sec ] [ (PHP: 7% - SQL: 93%) ] [ Requêtes SQL: 47 ] [ 1188 pages vues la dernière heure ]
 Top Max Cache Off Copyright Mentions légales PHP Maximus CMS