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 секунды. Я могу получить оба ключа и значения с помощью обоих методов. Интересно, имеет ли второй подход недостаток. Поскольку Самый рейтинговый вопрос, который я могу найти об этом, не включает этот способ итерации словаря, Я хотел знать, почему никто не использует его и как он работает быстрее.