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.