Перебор словаря в C#
var dict = new Dictionary<int, string>();
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 секунды меньше. Я могу получить оба ключа и значения с помощью обоих методов. Интересно, есть ли у второго подхода недостаток? С самый рейтинговый вопрос что я могу найти об этом, не включает в себя этот способ итерации словаря, я хотел знать, почему никто не использует его и как он работает быстрее.