好吧,你可以用 做同样的事情,但在这两种Dictionary
情况下使用它会更干净:foreach
foreach (var entry in dictionary)
{
string key = entry.Key;
int value = entry.Value;
// Use them...
}
这相当于:
using (var iterator = dictionary.GetEnumerator())
{
while (iterator.MoveNext())
{
var entry = iterator.Current;
string key = entry.Key;
int value = entry.Value;
// Use them...
}
}
显式调用和迭代自己很少有用。GetEnumerator
它适用于少数情况,例如当您想以不同方式处理第一个值时,但如果您要以相同方式处理所有条目,请使用foreach
.
(请注意,它实际上等同于var
在此处使用,但不等同于声明 an IEnumerator<KeyValuePair<string, int>>
- 它实际上将使用嵌套Dictionary.Enumerator
结构。这是您通常不需要担心的细节。)