Вопрос

Эта линия кода сбивает меня:

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

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

Это было полезно?

Решение

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top