var dict = new Dictionary
(); for (int i = 0; i < 200000; i++) dict[i] = "test " + i; Я повторил этот словарь, используя приведенный ниже код:
foreach (var pair in dict) Console.WriteLine(pair.Value);
Затем я повторил это, используя:
foreach (var key in dict.Keys) Console.WriteLine(dict[key]);
А вторая итерация заняла ~на 3 секунды меньше. Я могу получить как ключи, так и значения с помощью обоих методов. Мне интересно, есть ли у второго подхода недостаток. Поскольку самый рейтинговый вопрос , который я могу найти по этому поводу, не включает этот способ перебора словаря, я хотел знать, почему его никто не использует и как он работает быстрее.