2010-12-08 38 views
2

Dictionary<string, object>的密鑰變成string[](按字母順序排序)的最佳方法(*)是什麼?如何獲得一個字典<字符串,對象>的鍵到一個排序的字符串[]

例子:

var d = new Dictionary<string, int>(); 
d.Add("b", 1); 
d.Add("f", 2); 
d.Add("a", 3); 

string[] sortedKeys = ...; 
// sortedKeys should contain ["a", "b", "f"] 

(*)我的意思與「最好的辦法」大概是:它應該很容易寫入和讀取,但仍應產生良好的性能

回答

5

它取決於你所說的「最佳」的意思 - 但我會用:

string[] sortedKeys = d.Keys.OrderBy(x => x).ToArray(); 

會更有效,但不太流利的:

string[] sortedKeys = d.Keys.ToArray(); 
Array.Sort(sortedKeys); 
+0

非常感謝!我在'OrderBy()`方法上苦苦掙扎 – M4N 2010-12-08 10:19:09

相關問題