Comment trier une collection de noms par ordre alphabétique? Est-ce que je dois le lancer sur une autre liste d'abord comme la liste triée ou Ilist ou quelque chose? Si alors comment je fais ça? en ce moment j'ai toute ma chaîne dans la variable namevalucollection.trier un nomvaluecollection
9
A
Répondre
13
Utiliser de préférence une collection appropriée pour commencer si elle est entre vos mains. Toutefois, si vous devez opérer sur le NameValueCollection
voici quelques options différentes:
NameValueCollection col = new NameValueCollection();
col.Add("red", "rouge");
col.Add("green", "verde");
col.Add("blue", "azul");
// order the keys
foreach (var item in col.AllKeys.OrderBy(k => k))
{
Console.WriteLine("{0}:{1}", item, col[item]);
}
// or convert it to a dictionary and get it as a SortedList
var sortedList = new SortedList(col.AllKeys.ToDictionary(k => k, k => col[k]));
for (int i = 0; i < sortedList.Count; i++)
{
Console.WriteLine("{0}:{1}", sortedList.GetKey(i), sortedList.GetByIndex(i));
}
// or as a SortedDictionary
var sortedDict = new SortedDictionary<string, string>(col.AllKeys.ToDictionary(k => k, k => col[k]));
foreach (var item in sortedDict)
{
Console.WriteLine("{0}:{1}", item.Key, item.Value);
}
0
Voir cette question: How to sort NameValueCollection using a key in C#?
... qui suggère d'utiliser un SortedDictionary
+0
merci pour l'info Moo .. – zack
laissez-moi essayer vos options et obtenir back..thanks pour l'aide btw .. – zack
œuvres comme un charme! merci Ahmad. – zack