Эта строка кода смущает меня:
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() также использует Enumerator, но чище с помощью кода, сгенерированного компилятором.
foreach()