索引超出了数组错误 (C#) 的范围
本文关键字:范围 错误 数组 索引 | 更新日期: 2023-09-27 18:33:10
>我有以下一段代码从列表框中获取值。我选择了三位老师。当"i"值达到 3 时,它显示"索引超出数组范围"错误
string selectedTeachers = Request["SelectedTeachersList"];
int[] teachers_ID = Array.ConvertAll(selectedTeachers.Split(','), int.Parse);
for (int i = 0; i <= teachers_ID.Length; i++)
{
int Id = teachers_ID[i];
}
数组
是从零开始的索引,数组中的第一个元素将具有零索引,最后一个元素将比数组大小少一个,因此它必须比arry的长度少一个。
for (int i = 0; i < teachers_ID.Length; i++)
C# 数组的索引为零;也就是说,数组索引从零开始。
在 MSDN 阵列教程中阅读有关阵列的详细信息
你应该这样做
for (int i = 0; i < teachers_ID.Length; i++)
(小于和小于或等于运算符)
如果数组有 10 个元素,则可以从索引 0 到 9 访问它们。因此,当 i == 10 时,for 子句应退出。在你的代码中,i==10 仍然被执行,然后你显然会得到一个异常。
在这里使用foreach
,使用起来很简单
foreach(int i in teachers_ID)
int Id = i;
在这种情况下,您不必担心数组中的元素数量。您收到"索引超出数组范围"错误,因为C# 数组的索引为零。