如何获得一个字典<字符串,对象>的键到一个排序的字符串[]

如何获得一个字典<字符串,对象>的键到一个排序的字符串[]

问题描述:

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"] 

(*)我的意思与“最好的办法”大概是:它应该很容易写入和读取,但仍应产生良好的性能

它取决于你所说的“最佳”的意思 - 但我会用:

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