Witam. Czy mógłby mi ktoś wytłumaczyć, jak dokładnie działa pętla foreach w języku C#? W programie stworzyłem tablicę jednowymiarową o pojemności 10 elementów i wczytałem je. następnie umieściłem w programie następujący kod:
foreach (int b in tablica)
{
Console.WriteLine("Element " + (b) + ". tablicy wynosi: ");
Console.WriteLine(tablica[b]);
}
I teraz problem... Co prawda, wyświetla mi 10 wyników, ale są dziwnie pomieszane. Przykładowy wynik działania programu (liczby wczytane przypadkowo):
Element 1. tablicy wynosi: 3
Element 3. tablicy wynosi: 5
Element 2. tablicy wynosi: 2
Element 5. tablicy wynosi: 7
Element 6. tablicy wynosi: 4
Element 7. tablicy wynosi: 8
Element 4. tablicy wynosi: 6
Element 8. tablicy wynosi: 9
Element 9. tablicy wynosi: 5
Element 5. tablicy wynosi: 7
Czyli, jak widać, w tym przypadku pominął zerowy element tablicy a powtórzył piąty. To nie reguła bo miesza to w różny sposób, potrafi zapomnieć na przykład o trzecim elemencie a powtórzyć siódmy, nie widzę żadnej reguły w tym mieszaniu wyników. O co z tym chodzi? Dlaczego tak się dzieje?
Pozdrawiam serdecznie