Что такое Enumerator в объекте? - PullRequest
1 голос
/ 05 октября 2010

Эта строка кода смущает меня:

List<string> keys = new List<string>();
IDictionaryEnumerator ca = cache.GetEnumerator();
while (ca.MoveNext())
{
  keys.Add(ca.Key.ToString());
}

Что такое счетчик? Это связано с перечислениями? Я пытаюсь найти учебник по счетчикам, но безуспешно. Надеюсь, у кого-нибудь хватит терпения объяснить это мне.

1 Ответ

1 голос
/ 05 октября 2010

Вы не показываете, что на самом деле является типом «кеш», но ваш код эквивалентен:

foreach(var ca in cache)  
{
   keys.Add(ca.Key.ToString();
}

foreach() также использует Enumerator, но чище с помощью кода, сгенерированного компилятором.

...