c# - “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();
解决方案
正如@tkausl 已经提到的,ForEach 传递的是 value,而不是 index,不建议List.ForEach
实际使用,但如果你仍然想使用它,你可以这样做:
number.ForEach(c => { Console.WriteLine(c); });
你可以简单地使用foreach
这样的:
foreach (var c in number)
{
Console.WriteLine(c);
}
您可以在此处找到讨论:foreach 与 someList.ForEach(){}
推荐阅读
- awk - 如何通过满足条件来匹配两个文件
- python - /profile NOT NULL 约束处的 IntegrityError 失败:tutorapp_profile.user_id
- sql - Presto SQL 查找当前事务前一年的事务数
- ansible - Device42 与 Ansible 集成以动态从 Device 42 中提取库存
- r - 在R中将审美'x'从字符转换为列表类型
- html - 有没有办法在不固定宽度的情况下使用 box-sizing:border 框?
- reactjs - 刷新标签信息
- dask - Azure 上的 Dask 网关设置
- django - Django嵌套序列化在读取时不序列化
- c# - 玩家移动时相机抖动/抖动