Какой перечислетель в объекте?
-
28-09-2019 - |
Вопрос
Эта линия кода сбивает меня:
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()
Использует перечислитель также, но очиститель через сгенерированный компилятор кода.
Не связан с StackOverflow