I denne artikel lærer vi om indlejrede sløjfer i C #. Vi lærer at bruge indlejrede til, mens og do-while-sløjfer i et program.
En sløjfe inden for en anden sløjfe kaldes indlejret sløjfe. Sådan ser en indlejret løkke ud:
Outer-Loop (// body of outer-loop Inner-Loop (// body of inner-loop) ………))
Som du kan se, omslutter den ydre sløjfe den indre sløjfe . Den indre sløjfe er en del af den ydre sløjfe og skal starte og slutte inden i kroppen af den ydre sløjfe.
På hver iteration af ydre sløjfe udføres den indre sløjfe fuldstændigt.
Indlejret til løkke
En for loop inde i en anden for loop kaldes indlejret for loop.
For eksempel:
for (int i = 0; i <5; i ++) (// krop af ydre til løkke for (int j = 0; j <5; j ++) (// krop af indre for løkke) // krop af ydre til løkke )
Eksempel 1: Nestet til 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 kører programmet, vil output være:
Outer Loop løber 5 gange Inner Loop løber 25 gange
I dette program kører den ydre sløjfe 5 gange. Hver gang den ydre sløjfe kører, kører den indvendige sløjfe 5 gange, så den kører 25 gange i alt.
Eksempel 2: Nestet til mønster med loop til udskrivning
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 kører programmet, vil output være:
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
Indlejret mens sløjfe
En mens sløjfe inde i en anden mens sløjfe kaldes indlejret mens sløjfe.
For eksempel:
while (condition-1) (// body of outer while loop while (condition-2) (// body of inner while loop) // body of outer while loop)
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 kører programmet, vil output være:
(0,0) (0,1) (1,0) (1,1)
Indlejret do-while-løkke
En do-while-sløjfe inde i en anden do-while-sløjfe kaldes indlejret do-while-sløjfe.
For eksempel:
do (// body of outer while loop do (// body of inner while loop) while (condition-2); // body of outer while loop) while (condition-1);
Eksempel 4: Indlejret do-while-løkke
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 kører programmet, vil output være:
(0,0) (0,1) (1,0) (1,1)
Forskellige indre og ydre indlejrede løkker
Det er ikke obligatorisk at rede samme type løkke. Vi kan sætte en for-loop inde i en while-loop eller en do-while-loop inde i en for-loop.
Eksempel 5: C # Indlejret løkke: Forskellige indre og ydre 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 kører programmet, vil output være:
1 2 2 3 3 3 4 4 4 4 5 5 5 5 5
I ovenstående program placeres en for-løkke inden for en stund-løkke. Vi kan bruge forskellige typer loop i en loop.