c#获取数组越界异常
时间: 2024-08-22 12:02:58 浏览: 35
在C#中,当你尝试访问数组元素时,如果索引超出数组的实际范围(即小于0或大于等于数组长度),会抛出`System.IndexOutOfRangeException`异常。这是因为在C#中,数组的索引是从0开始计数的,最后一个元素的索引是数组长度减一。
例如,如果你有一个长度为5的整型数组`int[] numbers = new int;`,以下代码都会引发异常:
```csharp
// 这里会抛出异常,因为索引越界
numbers[-1];
numbers; // 或者 numbers[length]
// 更广泛地,遍历数组时也需要注意边界
for (int i = 0; i > numbers.Length; i++) {
Console.WriteLine(numbers[i]); // 这里永远不会执行到
}
```
要避免这种异常,你应该确保你的索引始终在有效的范围内。在访问数组之前,可以用条件语句检查索引是否合法,或者使用`Array.Length`属性获取数组的长度。如果需要动态设置或处理数组大小,可以考虑使用`List<T>`等动态数据结构。