If I use:
var strings = new List { \"sample\" }; foreach (string s in strings) { Console.WriteLine(s); strings.Add(s + \"!\"); }
List.ForEach is implemented through for inside, so it does not use enumerator and it allows to modify the collection.
List.ForEach
for