Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

Dominando Loops Aninhados em C#: For, While e Do-While Explicados

Um loop dentro de outro loop é chamado de loop aninhado (nested loop). Veja a estrutura:

Outer-Loop { // corpo do outer-loop
    Inner-Loop { // corpo do inner-loop }
    ...
}

O loop externo envolve o loop interno. O interno é parte do externo e deve iniciar e terminar dentro do corpo do externo.

Em cada iteração do loop externo, o loop interno executa completamente.

Loop for aninhado

Um loop for dentro de outro for é chamado nested for loop.

Exemplo:

for (int i=0; i<5; i++) { // corpo do outer for loop
    for (int j=0; j<5; j++) { // corpo do inner for loop }
    // corpo do outer for loop
}

Exemplo 1: Loop for Aninhado

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

Saída:

Outer Loop runs 5 times
Inner Loop runs 25 times

O loop externo roda 5 vezes. Cada vez, o interno roda 5 vezes, totalizando 25 execuções.

Exemplo 2: Loop for Aninhado 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();
            }
        }
    }
}

Saída:

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

Loop while aninhado

Um while dentro de outro while é nested while loop.

Exemplo:

while (condição-1) { // corpo do outer while loop
    while (condição-2) { // corpo do inner while loop }
    // corpo do outer while loop
}

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

Saída:

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

Loop do-while aninhado

Um do-while dentro de outro do-while é nested do-while loop.

Exemplo:

do { // corpo do outer while loop
    do { // corpo do inner while loop }
    while (condição-2);
} 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);
        }
    }
}

Saída:

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

Loops internos e externos diferentes

Não é obrigatório aninhar loops do mesmo tipo. Podemos colocar for dentro de while ou do-while dentro de for.

Exemplo 5: Loop Aninhado C#: Loops Internos e Externos Diferentes

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

Saída:

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

No programa acima, um for loop está dentro de um while loop. Podemos usar diferentes tipos de loop uns dentro dos outros.

Linguagem C

  1. Fundamentos de C#: Essenciais de Entrada e Saída
  2. Dominando Structs em C: Passagem, Retorno e Manipulação por Referência
  3. Dominando Diretivas de Pré-processador em C#: Guia Prático
  4. Configurando seu Ambiente de Programação C: Ferramentas Essenciais e Dicas
  5. Dominando Variáveis e Operadores em C#: Exemplos Práticos e Explicações
  6. Métodos em C# Explicados: Declaração, Chamada, Parâmetros, Tipos de Retorno e Mais
  7. Dominando Operadores em Programação C: Um Guia Abrangente
  8. Dominando Collections em C#: Tutorial Prático com Exemplos do Mundo Real
  9. Ambiente de Desenvolvimento C#: Ferramentas e Visão do Framework
  10. Dominando o Tipo Char em C++: Declaração, ASCII e Técnicas de Conversão