首页 > 解决方案 > “System.ArgumentOutOfRangeException”为什么会显示?为什么列表<>编号停止打印?

问题描述

当我执行它时,它会在 8 点停止打印并显示给我

“System.ArgumentOutOfRangeException”

List<int> number = new List<int> { 1, 2, 2, 5, 4, 8, 6};
number.ForEach(delegate (int i) { Console.WriteLine(number[i]); });
Console.ReadKey();

标签: c#.netlinqforeach

解决方案


正如@tkausl 已经提到的,ForEach 传递的是 value,而不是 index,不建议List.ForEach实际使用,但如果你仍然想使用它,你可以这样做:

 number.ForEach(c => { Console.WriteLine(c); });

你可以简单地使用foreach这样的:

foreach (var c in number)
{
   Console.WriteLine(c);
}

您可以在此处找到讨论:foreach 与 someList.ForEach(){}


推荐阅读