2010-11-04 17 views
9

Wie sortiere ich eine namevaluecollection in alphabetischer Reihenfolge? Muss ich es zuerst in eine andere Liste umwandeln, wie die sortierte Liste oder die Liste oder so? Wenn dann, wie mache ich das? Im Moment habe ich alle meine Zeichenfolge in der Variable NameValuCollection.Sortieren einer namevaluecollection

Antwort

13

vorzugsweise eine geeignete Sammlung verwenden, um mit zu beginnen, wenn es mit vermuten läßt. Wenn Sie jedoch auf der NameValueCollection hier zu arbeiten haben, sind einige verschiedene Möglichkeiten:

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

lassen Sie mich Ihre Möglichkeiten versuchen und back..thanks für die Hilfe btw bekommen .. – zack

+0

funktioniert wie Ein Zauber! Danke Ahmad. – zack