C# fordított kiírás?
List<int> lista = new List<int>();
Random random = new Random();
int i = 0;
while (i < 10)
{
lista.Add(random.Next(0, 101));
i++;
}
i = 0;
Console.WriteLine("1. feladat: ");
Console.WriteLine("A lista elemei: ");
do
{
Console.Write(lista[i] + " ");
i++;
} while (i < lista.Count);
Console.WriteLine("");
Console.WriteLine("Kiírás fordított sorrendben: ");
// a hiba innen kezdődik
Console.WriteLine(" ");
Console.WriteLine("A lista elemei fordított sorrendbe: ");
i = lista.Count - 1;
do
{
Console.Write(lista[i] + " ");
i--;
} while (i < lista.Count);
A lista elemei fordított sorrendbe:
18 34 17 18 34 53 81 36 20 99
Nem kezelt kivétel: System.ArgumentOutOfRangeException: Az index az engedélyezett tartományon kívül esett. Az index nem lehet negatív, és kisebbnek kell lennie a gyűjtemény méreténél.
Paraméter neve: index
a következő helyen: System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
a következő helyen: System.Collections.Generic.List`1.get_Item(Int32 index)
a következő helyen: lista_feladatok_1.Program.Main(String[] args) hely: C:\/*valami*/\lista feladatok_1\Program.cs, sor: 102
Press any key to continue . . .
Tehát lefut jól és ki is írja amit kéne, de valami mégsem jó xD.
Ez a 102 sor:
Console.Write(lista[i] + " ");
Mint a hibaüzenetben is látod, valahol kicsúszik az index a tartományból.
Mivel mindent helyesen kiír, ezért feltételezheted, hogy a program végén lesz a hiba.
Amit csinálsz: i = listahossz-1 és ebből vonogatsz le, addig, amíg i < listahossz, ami nyilván mindig igaz lesz, ergo a programod elszáll hibával, mikor i = -1. Megoldás: while i > 0.
foreach (var element in lista.Reverse())
{
Console.WriteLine(element);
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!