如何获得一个字典<字符串,对象>的键到一个排序的字符串[]
问题描述:
将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);
非常感谢!我在'OrderBy()`方法上苦苦挣扎 – M4N 2010-12-08 10:19:09