2010-11-04 10 views
9

Come si ordina una raccolta di nomi di dominio in ordine alfabetico? Devo lanciarlo in un'altra lista prima come lista ordinata o Ilist o qualcosa del genere? Se poi come faccio? in questo momento ho tutta la mia stringa nella variabile namevalucollection.ordinamento di una raccolta di nomi nome

risposta

13

Usare preferibilmente una collezione adatta per cominciare se è nelle tue mani. Tuttavia, se si deve operare sul NameValueCollection qui ci sono alcune opzioni differenti:

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

mi permetta di provare le opzioni e ottenere back..thanks per l'aiuto btw .. – zack

+0

opere come un fascino! grazie Ahmad. – zack

Problemi correlati