Neste artigo, aprenderemos sobre loops aninhados em C #. Aprenderemos a usar loops for, while e do-while aninhados em um programa.
Um loop dentro de outro loop é chamado de loop aninhado. É assim que um loop aninhado se parece:
Outer-Loop (// corpo do loop externo Inner-Loop (// corpo do loop interno)………)
Como você pode ver, o loop externo envolve o loop interno . O loop interno é uma parte do loop externo e deve começar e terminar dentro do corpo do loop externo.
Em cada iteração do loop externo, o loop interno é executado completamente.
Aninhado por loop
Um loop for dentro de outro loop for é chamado de loop for aninhado.
Por exemplo:
for (int i = 0; i <5; i ++) (// corpo do loop for externo for (int j = 0; j <5; j ++) (// corpo do loop for interno) // corpo do loop for externo )
Exemplo 1: Aninhado para 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); ) ) )
Quando executamos o programa, a saída será:
O loop externo é executado 5 vezes o loop interno é executado 25 vezes
Neste programa, o loop externo é executado 5 vezes. Cada vez que o loop externo é executado, o loop interno é executado 5 vezes, tornando-o executado 25 vezes ao todo.
Exemplo 2: Aninhado para Loop para Imprimir Padrão
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(); ) ) ) )
Quando executamos o programa, a saída será:
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
Loop while aninhado
Um loop while dentro de outro loop while é chamado de loop while aninhado.
Por exemplo:
while (condição-1) (// corpo do loop while externo (condição-2) (// corpo do loop while interno) // corpo do loop while externo)
Exemplo 3: Loop while aninhado
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(); ) ) ) )
Quando executamos o programa, a saída será:
(0,0) (0,1) (1,0) (1,1)
Loop do-while aninhado
Um loop do-while dentro de outro loop do-while é chamado de loop aninhado do-while.
Por exemplo:
do (// corpo do laço while externo do (// corpo do laço while interno) while (condição-2); // corpo do laço while externo) while (condição-1);
Exemplo 4: Loop do-while aninhado
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); ) ) )
Quando executamos o programa, a saída será:
(0,0) (0,1) (1,0) (1,1)
Diferentes loops internos e externos aninhados
Não é obrigatório aninhar o mesmo tipo de loop. Podemos colocar um loop for dentro de um loop while ou um loop do-while dentro de um loop for.
Exemplo 5: Loop aninhado C #: diferentes loops interno e externo
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++; ) ) ) )
Quando executamos o programa, a saída será:
1 2 2 3 3 3 4 4 4 4 4 5 5 5 5 5
No programa acima, um loop for é colocado dentro de um loop while. Podemos usar diferentes tipos de loop dentro de um loop.