是否有适用于有序字典键数组的单行解决方案



我正在寻找一种单行解决方案来获取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);

最新更新