Computer >> Máy Tính >  >> Lập trình >> C#

Làm thế nào để nắm bắt chỉ mục ngoài phạm vi ngoại lệ trong C #?

IndexOutOfRangeException xảy ra khi bạn cố gắng truy cập một phần tử có chỉ mục vượt quá giới hạn của mảng.

Giả sử sau đây là mảng của chúng tôi. Nó có 5 yếu tố -

int [] n = new int[5] {66, 33, 56, 23, 81};

Bây giờ nếu bạn cố gắng truy cập các phần tử có chỉ mục nhiều hơn 5, thì Ngoại lệ IndexOutOfRange sẽ được ném ra -

for (j = 0; j < 10; j++ ) {
Console.WriteLine("Element[{0}] = {1}", j, n[j]);
}

Trong ví dụ trên, chúng tôi đang cố gắng truy cập chỉ mục 5 ở trên, do đó xảy ra lỗi sau -

System.IndexOutOfRangeException:Chỉ mục nằm ngoài giới hạn của mảng.

Đây là mã hoàn chỉnh -

Ví dụ

using System;

namespace Demo {
   class MyArray {
      static void Main(string[] args) {
         try {
            int [] n = new int[5] {66, 33, 56, 23, 81};
            int i,j;
            // error: IndexOutOfRangeException
            for (j = 0; j < 10; j++ ) {
               Console.WriteLine("Element[{0}] = {1}", j, n[j]);
            }
            Console.ReadKey();
         } catch (System.IndexOutOfRangeException e) {
            Console.WriteLine(e);
         }
      }
   }
}

Đầu ra

Element[0] = 66
Element[1] = 33
Element[2] = 56
Element[3] = 23
Element[4] = 81
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Demo.MyArray.Main (System.String[] args) [0x00019] in <6ff1dbe1755b407391fe21dec35d62bd>:0

Mã sẽ tạo ra lỗi -

System.IndexOutOfRangeException −Index was outside the bounds of the array.