用c#编程时,出现“索引超出了数组界限。”的问题。

上周我的一个朋友在用 C 编写程序时遇到了“索引限制数组”错误。
他说问题出现在这行代码:checkCodes [(int)sum]。
事实证明,总和值超出了 checkCodes 数组的索引。
我建议您首先检查总和是否在列表中排序,如果没有,则增加行。
或者,您可以对总操作进行四舍五入并测量以获得一个强大的列表。
它还应该添加一个 catch 块,以便在发生错误时程序不会崩溃并提供更多信息。
路径的长度设置为 checkCodes.Length。
正如你所想象的,这些方法应该可以解决问题。
他们永远不知道

索引超出了数组界限

索引超出了数组的边界。
这很常见。
严格来说,必须使用数字来选择数组中的元素。
结果,数字太大,数组中没有这个数字。

举个例子吧。
我有一个程序员朋友,他在编写代码时创建了一个大小为 1 0 的数组。
你看这1 0个数组的下标范围是0到9 ,总共1 0个位置。
结果,他写了一个从0运行到1 0的循环,并试图获取值arr[1 0]。
是的,只有 1 0 个数组; 1 1 从哪里来?这次报了一个名为“ArrayIndexOutOfBoundsException”的错误。

如何避免?其实很简单。
首先我们需要知道数组有多大。
例如,如果确定它有1 0个分量,则从0到9 中选择。
其次,编写循环时要小心。
例如,如果使用 i 作为索引;因为i小于或等于数组长度减1 ,所以写了一个循环条件。
它当然不会越界。

说实话,当时我不明白为什么要减1 之后数组计数从0开始;所以长度是1 0,最后一个元素的下标是9 这就是事实。

再举个例子,在某些语言中,数组的默认初始化是null。
如果输入不存在的下标,系统会告诉你“无框”。
所以当我写代码的时候,尤其是当我盯着屏幕打字的时候。
如果你一时感到困惑,你可能会犯这样的错误。
多检查几次,确保没问题。

这是一个坑。
别相信。
不要这样做。