Looping through a dynamic List of objects
本问题已经有最佳答案,请猛点这里访问。
我正在尝试实现一个片段,在这里我们可以循环访问对象的动态列表。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | using System; using System.Collections.Generic; public class Program { public static void Main() { var l = new List<int>(); l.Add(1); l.Add(2); l.Add(3); l.Add(4); foreach(var i in l){ Console.WriteLine(i); if(i==3){ l.Add(5); } } } } |
这将引发以下运行时错误。
1 2 3 4 5 6 7 8 9 | 1 2 3 Run-time exception (line 15): Collection was modified; enumeration operation may not execute. Stack Trace: [System.InvalidOperationException: Collection was modified; enumeration operation may not execute.] at Program.Main(): line 15 |
感谢您的帮助。谢谢。
这可以通过用
1 2 3 4 5 6 7 8 | for (var i = 0; i < l.Count; i++) { Console.WriteLine(l[i]); if (l[i] == 3) { l.Add(5); } } |