Geneste lussen in C #: for, while, do-while (met voorbeelden)

In dit artikel zullen we leren over geneste lussen in C #. We leren geneste for, while en do-while-loops in een programma te gebruiken.

Een lus binnen een andere lus wordt geneste lus genoemd. Dit is hoe een geneste lus eruit ziet:

 Outer-Loop (// lichaam van buitenste lus Inner-Loop (// lichaam van binnenste lus) … … …) 

Zoals u kunt zien, omsluit de buitenste lus de binnenste lus . De binnenste lus is een onderdeel van de buitenste lus en moet beginnen en eindigen in de buitenste lus.

Bij elke iteratie van de buitenste lus wordt de binnenste lus volledig uitgevoerd.

Genest voor lus

Een for-lus in een andere for-lus wordt geneste for-lus genoemd.

Bijvoorbeeld:

 for (int i = 0; i <5; i ++) // lichaam van buitenste for lus voor (int j = 0; j <5; j ++) (// lichaam van binnenste for lus) // lichaam van buitenste for lus ) 

Voorbeeld 1: genest voor lus

 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); ) ) ) 

Wanneer we het programma uitvoeren, is de uitvoer:

 Outer Loop loopt 5 keer Inner Loop loopt 25 keer

In dit programma loopt de buitenste lus 5 keer. Elke keer dat de buitenste lus loopt, loopt de binnenste lus 5 keer, waardoor deze in totaal 25 keer loopt.

Voorbeeld 2: genest voor lus om patroon af te drukken

 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(); ) ) ) ) 

Wanneer we het programma uitvoeren, is de uitvoer:

 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5

Geneste while-lus

Een while-lus in een andere while-lus wordt geneste while-lus genoemd.

Bijvoorbeeld:

 while (condition-1) // body of outer while loop while (condition-2) // body of inner while loop) // body buiten while-lus) 

Voorbeeld 3: genest terwijl lus

 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(); ) ) ) ) 

Wanneer we het programma uitvoeren, is de uitvoer:

 (0,0) (0,1) (1,0) (1,1)

Geneste do-while-lus

Een do-while-lus in een andere do-while-lus wordt geneste do-while-lus genoemd.

Bijvoorbeeld:

 do (// body van buitenste while-lus do (// body van inner while-lus) while (voorwaarde-2); // body van buitenste while-lus) while (voorwaarde-1); 

Voorbeeld 4: geneste do-while-lus

 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); ) ) ) 

Wanneer we het programma uitvoeren, is de uitvoer:

 (0,0) (0,1) (1,0) (1,1)

Verschillende binnenste en buitenste geneste lussen

Het is niet verplicht om hetzelfde type lus te nesten. We kunnen een for-lus in een while-lus plaatsen of een do-while-lus in een for-lus.

Voorbeeld 5: C # geneste lus: verschillende binnenste en buitenste lussen

 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++; ) ) ) ) 

Wanneer we het programma uitvoeren, is de uitvoer:

 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5

In het bovenstaande programma wordt een for-lus binnen een while-lus geplaatst. We kunnen verschillende soorten lussen in een lus gebruiken.

Interessante artikelen...