for, break și continue în C# (.NET)

Repetă un bloc de cod cu un contor: inițializare, condiție și pas. break oprește bucla, continue sare la pasul următor.

Sintaxă C#
for (int i = 0; i < n; i++) { ... }

Ce face for, break și continue

Bucla for are trei părți între paranteze, separate prin ;: inițializarea (rulează o dată, la început), condiția (verificată înainte de fiecare pas) și actualizarea (rulează după fiecare pas). E potrivită când ai nevoie de indice, de exemplu ca să parcurgi un tablou de la coadă sau din doi în doi.

break iese imediat din buclă, iar continue sare peste restul pasului curent și trece la următorul. Ambele afectează doar bucla în care se află direct.

Parametri

Parametru Descriere
inițializare De obicei declararea contorului: int i = 0. Variabila există doar în buclă.
condiție Bucla continuă cât timp este true.
actualizare Se execută după fiecare pas: i++, i += 2, i--.

Exemple

Exemplul 1: Parcurgere cu indice, invers

string[] orase = ["Iași", "Cluj", "Timișoara"];

for (int i = orase.Length - 1; i >= 0; i--)
{
    Console.WriteLine($"{i}: {orase[i]}");
}

Rezultat

2: Timișoara
1: Cluj
0: Iași

Exemplul 2: continue și break

Numerele impare sunt sărite cu continue; bucla se oprește complet la primul număr mai mare decât 8.

for (int i = 1; i <= 20; i++)
{
    if (i % 2 != 0)
        continue;
    if (i > 8)
        break;
    Console.Write($"{i} ");
}
Console.WriteLine();
Console.WriteLine("Gata");

Rezultat

2 4 6 8
Gata

Greșeli frecvente

  • Condiția i <= tablou.Length depășește tabloul cu un element și aruncă IndexOutOfRangeException. Ultimul indice valid este Length - 1.
  • Modificarea contorului în corpul buclei (i++ în plus) face codul greu de urmărit și sare elemente.
  • break dintr-o buclă interioară nu oprește bucla exterioară. Mută codul într-o metodă și folosește return, sau un indicator bool.

Comenzi înrudite

  • foreach: Parcurge pe rând fiecare element al unui tablou, al unei liste sau al oricărui IEnumerable, fără indice.
  • while și do-while: Repetă un bloc cât timp o condiție e adevărată; do-while execută blocul cel puțin o dată înainte de verificare.