在c#中迭代字典的最佳方法是什么?


我已经看到了几种不同的方式来迭代C#中的字典。有没有标准的方法?

foreach(KeyValuePair<string, string> entry in myDictionary)
{
    // do something with entry.Value or entry.Key
}

如果您正在尝试在C#中使用通用字典,就像使用其他语言的关联数组一样:

foreach(var item in myDictionary)
{
  foo(item.Key);
  bar(item.Value);
}

或者,如果您只需要遍历键的集合,请使用

foreach(var item in myDictionary.Keys)
{
  foo(item);
}

最后,如果你只对价值感兴趣:

foreach(var item in myDictionary.Values)
{
  foo(item);
}

(请注意,var关键字是可选的C#3.0及以上版本,您也可以在这里使用您的键/值的确切类型)

未经作者同意,本文严禁转载,违者必究!