将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"]
(*)我对“最佳方式”的意思可能是:它应该易于编写和读取,但仍应产生良好的性能
答案 0 :(得分:5)
这取决于你所说的“最好” - 但我会用:
string[] sortedKeys = d.Keys.OrderBy(x => x).ToArray();
效率稍高但不太流利:
string[] sortedKeys = d.Keys.ToArray();
Array.Sort(sortedKeys);