În acest articol, vom afla despre buclele imbricate în C #. Vom învăța să folosim buclele imbricate pentru, în timp ce și în timp ce într-un program.
O buclă într-o altă buclă se numește buclă imbricată. Așa arată o buclă imbricată:
Outer-Loop (// corpul buclei exterioare Inner-Loop (// corpul buclei interioare)………)
După cum puteți vedea, bucla exterioară închide bucla interioară . Bucla interioară este o parte a buclei exterioare și trebuie să înceapă și să se termine în corpul buclei exterioare.
La fiecare iterație a buclei exterioare, bucla interioară este executată complet.
Cuibărit pentru buclă
O buclă pentru interiorul alteia pentru buclă se numește imbricată pentru buclă.
De exemplu:
for (int i = 0; i <5; i ++) (// corpul exterior pentru buclă pentru (int j = 0; j <5; j ++) (// corpul interior pentru buclă) // corpul exterior pentru buclă )
Exemplul 1: imbricat pentru buclă
using System; namespace Loop ( class NestedForLoop ( public static void Main(string() args) ( int outerLoop = 0, innerLoop = 0; for (int i=1; i<=5; i++) ( outerLoop ++; for (int j=1; j<=5; j++) ( innerLoop++; ) ) Console.WriteLine("Outer Loop runs (0) times", outerLoop); Console.WriteLine("Inner Loop runs (0) times", innerLoop); ) ) )
Când rulăm programul, ieșirea va fi:
Bucla exterioară rulează de 5 ori Bucla interioară rulează de 25 de ori
În acest program, bucla exterioară rulează de 5 ori. De fiecare dată când rulează bucla exterioară, bucla interioară rulează de 5 ori, făcând-o să ruleze de 25 de ori în total.
Exemplul 2: imbricat pentru modelul tipăririi în buclă
using System; namespace Loop ( class NestedForLoop ( public static void Main(string() args) ( for (int i=1; i<=5; i++) ( for (int j=1; j<=i; j++) ( Console.Write(j + " "); ) Console.WriteLine(); ) ) ) )
Când rulăm programul, ieșirea va fi:
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
Buclă imbricată în timp ce
O buclă while în interiorul altei bucle while se numește buclă while imbricată.
De exemplu:
while (condition-1) (// corpul buclei while while while (condition-2) (// corpul buclei while while) // corpul buclei while while)
Exemplul 3: imbricat în timp ce bucla
using System; namespace Loop ( class NestedWhileLoop ( public static void Main(string() args) ( int i=0; while (i<2) ( int j=0; while (j<2) ( Console.Write("((0),(1)) ", i,j); j++; ) i++; Console.WriteLine(); ) ) ) )
Când rulăm programul, ieșirea va fi:
(0,0) (0,1) (1,0) (1,1)
Buclă imbricată în timp ce se face
O buclă do-while în interiorul altei bucle do-while se numește buclă do-while imbricată.
De exemplu:
do (// corpul buclei exterioare while do (// corpul buclei interioare while) while (condiția-2); // corpul buclei exterioare while) while (condiția-1);
Exemplul 4: Buclă imbricată cu do-while
using System; namespace Loop ( class NestedWhileLoop ( public static void Main(string() args) ( int i=0; do ( int j=0; do ( Console.Write("((0),(1)) ", i,j); j++; ) while (j<2); i++; Console.WriteLine(); ) while (i<2); ) ) )
Când rulăm programul, ieșirea va fi:
(0,0) (0,1) (1,0) (1,1)
Diferite bucle interioare și exterioare imbricate
Nu este obligatoriu să cuibărești același tip de buclă. Putem pune o buclă for într-o buclă while sau o buclă do-while într-o buclă for.
Exemplul 5: C # Buclă imbricată: diferite bucle interioare și exterioare
using System; namespace Loop ( class NestedLoop ( public static void Main(string() args) ( int i=1; while (i<=5) ( for (int j=1; j<=i; j++) ( Console.Write(i + " "); ) Console.WriteLine(); i++; ) ) ) )
Când rulăm programul, ieșirea va fi:
1 2 2 3 3 3 4 4 4 4 5 5 5 5 5
În programul de mai sus, o buclă for este plasată într-o buclă while. Putem folosi diferite tipuri de bucle în interiorul unei bucle.