Ebben a cikkben megismerjük a C # beágyazott hurkait. Megtanuljuk használni a beágyazott, míg és a do-while ciklusokat egy programban.
Egy másik hurokban lévő hurokot egymásba ágyazottnak nevezzük. Így néz ki egy beágyazott hurok:
Külső hurok (// külső hurok teste Belső hurok (// belső hurok teste)………)
Mint látható, a külső hurok befogja a belső hurkot . A belső hurok a külső hurok része, és a külső hurok testén belül kell kezdődnie és befejeznie.
A külső hurok minden iterációján a belső hurok teljesen végrehajtásra kerül.
Beágyazva hurokhoz
A hurok belsejében lévő A for ciklust egymásba ágyazottnak nevezzük.
Például:
for (int i = 0; i <5; i ++) (// hurok külső teste (int j = 0; j <5; j ++) (// belső test hurok számára) // külső hurok hurok számára )
1. példa: Beágyazva a hurokba
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); ) ) )
A program futtatásakor a kimenet a következő lesz:
A külső hurok ötször fut A belső hurok 25-ször fut
Ebben a programban a külső hurok ötször fut. Minden alkalommal, amikor a külső hurok fut, a belső hurok ötször fut, így összesen 25-ször fut.
2. példa: Beágyazva a hurok nyomtatásához
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(); ) ) ) )
A program futtatásakor a kimenet a következő lesz:
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
Beágyazott, míg hurok
Egy while ciklust egy másik while-ban, míg a loop-ot egymásba ágyazottnak hívják.
Például:
while (feltétel-1) (// külső, míg a hurok teste, míg (feltétel-2) (// a belső, míg a hurok teste) // a külső, míg a hurok teste
3. példa: Hurok közben beágyazva
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(); ) ) ) )
A program futtatásakor a kimenet a következő lesz:
(0,0) (0,1) (1,0) (1,1)
Beágyazott do-while hurok
Egy másik do-while hurok belsejében lévő do-while ciklust beágyazott do-while ciklusnak nevezzük.
Például:
do (// a külső, míg a hurok teste do (// a belső, míg a hurok teste) while (feltétel-2); // a külső, míg a hurok teste a while (feltétel-1);
4. példa: Beágyazott do-while hurok
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); ) ) )
A program futtatásakor a kimenet a következő lesz:
(0,0) (0,1) (1,0) (1,1)
Különböző belső és külső beágyazott hurkok
Nem kötelező azonos típusú hurok fészkelése. Helyezhetünk egy for ciklust egy while hurokba vagy egy do-while ciklust egy for ciklusba.
5. példa: C # beágyazott hurok: Különböző belső és külső hurkok
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++; ) ) ) )
A program futtatásakor a kimenet a következő lesz:
1 2 2 3 3 3 4 4 4 4 5 5 5 5 5
A fenti programban egy for ciklust egy while ciklusba helyezünk. Különböző típusú hurkokat használhatunk a hurkon belül.