我正在寻找一种单行解决方案来获取OrderedDictionary的键。我已经使用以下方法得到了一个有效的解决方案,但是有没有办法使用更少的代码来实现相同的目标,例如使用 LINQ?
private string[] GetKeys(OrderedDictionary orderedDictionary)
{
List<string> keyList = new List<string>(orderedDictionary.Count);
foreach (DictionaryEntry entry in orderedDictionary)
{
keyList.Add(entry.Key.ToString());
}
return keyList.ToArray();
}
你可以用它来减少代码 -
var myKeys = orderedDictionary.Keys.Cast<string>().ToArray();
Code-Apprentice是对的,我应该看看MSDN文档。在那里找到了以下代码,并执行了我一直在寻找的操作。
string[] myKeys = new string[orderedDictionary.Count];
orderedDictionary.Keys.CopyTo(myKeys, 0);