I denne artikkelen vil vi lære om nestede løkker i C #. Vi lærer å bruke nestede for, mens og mens sløyfer i et program.
En sløyfe i en annen sløyfe kalles nestet sløyfe. Slik ser en nestet løkke ut:
Ytre-sløyfe (// kropp av ytre-sløyfe indre-sløyfe (// kropp av indre sløyfe) …… …)
Som du kan se, lukker den ytre sløyfen den indre sløyfen . Den indre sløyfen er en del av den ytre sløyfen og må starte og slutte i kroppen av den ytre sløyfen.
På hver iterasjon av ytre sløyfe utføres den indre sløyfen fullstendig.
Nestet for løkke
En for loop inne i en annen for loop kalles nestet for loop.
For eksempel:
for (int i = 0; i <5; i ++) (// kropp av ytre for løkke for (int j = 0; j <5; j ++) (// kropp av indre for løkke) // kropp av ytre for løkke )
Eksempel 1: Nestet for Loop
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); ) ) )
Når vi kjører programmet, vil utdataene være:
Outer Loop løper 5 ganger Inner Loop løper 25 ganger
I dette programmet går den ytre sløyfen i 5 ganger. Hver gang den ytre sløyfen går, kjører den indre sløyfen 5 ganger, slik at den går 25 ganger helt.
Eksempel 2: Nestet for mønster med løkke til utskrift
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(); ) ) ) )
Når vi kjører programmet, vil utdataene være:
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
Nestet mens løkke
En stundsløyfe inne i en annen mens sløyfe kalles nestet mens sløyfe.
For eksempel:
mens (tilstand-1) (// kropp av ytre mens sløyfe mens (tilstand-2) (// kropp av indre mens sløyfe) // kropp av ytre mens sløyfe)
Eksempel 3: Nestet mens Loop
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(); ) ) ) )
Når vi kjører programmet, vil utdataene være:
(0,0) (0,1) (1,0) (1,1)
Nestet gjør-mens-sløyfe
En gjør-mens-sløyfe i en annen gjør-mens-sløyfe kalles nestet gjør-mens-sløyfe.
For eksempel:
do (// kropp av ytre mens sløyfe gjør (// kropp av indre mens sløyfe) mens (tilstand-2); // kropp av ytre mens sløyfe) mens (tilstand-1);
Eksempel 4: Nestet do-while Loop
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); ) ) )
Når vi kjører programmet, vil utdataene være:
(0,0) (0,1) (1,0) (1,1)
Ulike indre og ytre nestede løkker
Det er ikke obligatorisk å hekke samme type løkke. Vi kan sette en for loop inne i en while loop eller en do-while loop inne i en for loop.
Eksempel 5: C # Nestet løkke: Ulike indre og ytre løkker
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++; ) ) ) )
Når vi kjører programmet, vil utdataene være:
1 2 2 3 3 3 4 4 4 4 5 5 5 5 5
I det ovennevnte programmet er en for-løkke plassert i en stund-sløyfe. Vi kan bruke forskjellige typer sløyfe inne i en sløyfe.