In limbajul c# exista mai multe posibilitati de a executa in mod repetat anumite blocuri de cod (ciclu). Aceste posibilitati sunt:
- for
- while
- do…while
- foreach
Aceste instructiuni sunt specifice multor limbaje si intelegerea folosiri lor ar trebui sa fie usoara pentru oriceine le-a mai folosit cu alte limbaje.
Le voi analiza pe rand, exemplificand utilizarea lor.
Cel mai simplu ciclu este ciclul for. Sintaxa generala este:
for (int i = 0; i <= 5; i++) { //executa ceva de 5 ori }
O alta modalitate de scriere a unui bloc for este urmatoarea:
for (; ; ) { // ... }
care este un ciclu infinit. Acest bloc de cod ar trebui intrerupt (printr-o intructiune break, ca in exemplul urmator:
int i = 0; for (; ; ) { // ... if(i++ == 5) break; //intrerupe ciclul }
O alta modalitate de a scrie un bloc ce se repeta la infinit este cu ajutorul keyword-ului while:
int i = 0; while(true) { // ... if(i++ == 5) break; //intrerupe ciclul }
Acest bloc de cod este echivalent (functional) cu cel anterior (folosinf for).
Instructiunile do…while sunt o alta metoda de a executa inmod repetat anumite linii de cod:
int x = 0; do { Console.WriteLine(x); x++; } while (x < 5);
Diferenta dintre un bloc while si un bloc do…while este ca instructiunile din do…while se executa cel putin o data – conditia de iesire din loop se verifica dupa cel putin o executie. Codul dintr-un ciclu while poate sa nu fie executat niciodata.
De exemplu:
int x = int.Parse(Console.ReadLine()); while (x % 5 != 0) { Console.WriteLine(x++); }
Daca userul introduce un numar multiplu de 5, codul blocului while nu se executa nici macar o data.
Am lasat la final foreach, deoarece este o metoda de a executa in mod repetitiv anumite operatii, insa putin diferit de modurile cum lucreaza blocurile descrise anteorior. foreach executa blocul de comenzi asociat o singura data pentru fiecare element dintr-un array sau colectie de obiecte – conditia ca foreach sa poata fi aplicat colectiei este ca acea colectie sa implementeze interfata IEnumerable (sau IEnumerable<T>).
Exemplu folosind un array:
int[] numbers = new int { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; foreach (int n in numbers) { Console.WriteLine("{1} -> {2}", n, 2 * n); }
Acest exemplu va afisa perechi de tipul n -> 2n pentru fiecare numar din array-ul de int folosit.
Pingback/Trackback
Un meniu intr-o aplicatie consola | by zeltera
Ovidiu says:
pentru for executa de 6 ori