4
Почему List <T> .ForEach позволяет изменять свой список?
Если я использую: var strings = new List<string> { "sample" }; foreach (string s in strings) { Console.WriteLine(s); strings.Add(s + "!"); } the Addв foreachвыдает InvalidOperationException (Коллекция была изменена; операция перечисления может не выполняться), что я считаю логичным, поскольку мы вытаскиваем коврик из-под ног. Однако, если я использую: var strings …