如何将Dictionary <string,object =“”>的键放入已排序的字符串[] </string,>

时间:2010-12-08 10:14:53

标签: generics sorting dictionary c#-4.0

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

(*)我对“最佳方式”的意思可能是:它应该易于编写和读取,但仍应产生良好的性能

1 个答案:

答案 0 :(得分:5)

这取决于你所说的“最好” - 但我会用:

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

效率稍高但不太流利:

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