Чому виникає виняток index was out of range

Особливість масивів в мові c # полягає в тому, що початковий індекс елемента завжди дорівнює нулю. Тобто в даному прикладі, не дивлячись на те, що число п'ять - це перше значення елемента масиву, при зверненні до нього потрібно вказати індекс нуль. Так само і для числа сім, незважаючи на те, що це число є другим елементом масиву, його індекс так само буде на одиницю менше, тобто, дорівнює одному.

Звернення до елементів масиву:

Результат: a = 5 і b = 7.

Але, варто тільки вказати невірний індекс, наприклад:

В результаті отримуємо виняток: Index was outside the bounds of the array. тобто індекс перебувати за межами діапазону, який в даному прикладі становить від 0 до 1. Тому при виникненні даної помилки, перше, що потрібно зробити, так це переконатися в тому, що Ви вказали правильну індекс при зверненні до елементу масиву або узагальненої колекції.

Чому виникає виняток index was out of range

Так само дана помилка дуже часто зустрічається в циклах, особливо в циклі for, якщо Ви вказуєте невірне кількість елементів містяться в масиві, наприклад:

List ar = new List <8. 9> ;

for (int i = 0; i <3 ; i ++ )

В результаті так само виникає ArgumentOutOfRangeException. так як кількість елементів дорівнює двом, а не трьом. Тому найкраще в циклах використовувати вже готові методи для підрахунку кількості елементів масиву або колекцій, наприклад:

Схожі статті