📅  最后修改于: 2023-12-03 15:00:15.906000             🧑  作者: Mango
在C#中,数组是一种常用的数据结构,用于存储一系列相同类型的数据。我们可以使用索引来访问数组中的元素。然而,当我们使用无效的索引访问数组时,就会抛出 'IndexOutOfRangeException' 异常。
'IndexOutOfRangeException' 异常表示我们尝试在数组中访问一个索引,而该索引不在数组的有效索引范围内。这通常会发生在以下情况下:
要捕获 'IndexOutOfRangeException' 异常,我们可以放置我们的数组访问语句在 'try' 块中,并在 'catch' 块中处理异常。以下是一个示例:
try {
int[] arr = new int[3];
arr[5] = 10;
} catch (IndexOutOfRangeException ex) {
Console.WriteLine("Index out of range!");
Console.WriteLine(ex.Message);
}
在上面的示例中,我们首先创建一个长度为 '3' 的整数数组,然后尝试在索引 '5' 处赋值为 '10'。由于这个索引超出了数组的有效范围,所以 'IndexOutOfRangeException' 异常被抛出。在异常处理程序中,我们打印错误消息并显示异常的详细信息。
为了避免 'IndexOutOfRangeException' 异常,我们应该始终确保我们的数组访问语句使用有效的索引。我们可以使用如下步骤来确保有效的索引:
以下是一个示例:
int[] arr = new int[3];
int index = 2;
if (index >= 0 && index < arr.Length) {
arr[index] = 10;
} else {
Console.WriteLine("Invalid index!");
}
在上面的示例中,我们首先创建一个长度为 '3' 的整数数组,然后尝试将值 '10' 存储在索引 '2' 处。在存储值之前,我们检查索引是否大于等于零并小于数组长度。如果索引无效,我们打印错误消息。
'IndexOutOfRangeException' 异常是C#中常见的运行时异常之一。为了确保我们的程序运行稳定,我们应该在访问数组时避免使用无效的索引并正确处理异常。