Sobes.tech
Junior — Middle

El tudná magyarázni, mi történik, amikor a programban kivétel fordul elő, amely a tömb határainak túllépésével kapcsolatos?

sobes.tech MI

Válasz az MI-től

Amikor C#-ban megpróbálsz hozzáférni egy tömb eleméhez egy olyan index segítségével, amely kívül esik az engedélyezett tartományon (kisebb, mint 0 vagy nagyobb vagy egyenlő a tömb hosszával), a futási környezet IndexOutOfRangeException típusú kivételt dob. Ez a kivétel jelzi, hogy a program megpróbál hozzáférni egy nem létező tömb elemhez.

Ha ezt a kivételt nem fogja el egy try-catch blokk, a program váratlanul leáll. Ennek elkerülése érdekében használhatunk kivételkezelést vagy ellenőrizhetjük az indexet a tömb elérése előtt:

int[] numbers = {1, 2, 3};
int index = 5;

if (index >= 0 && index < numbers.Length)
{
    Console.WriteLine(numbers[index]);
}
else
{
    Console.WriteLine("Index kívül esik a tömb határain");
}

Így a kivétel segít az adathozzáférési hibák felismerésében és megakadályozza a program kiszámíthatatlan viselkedését.