Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Comando for
  2. Comando foreach
  3. Comando while
  4. Comando do-while
  5. Comando de parada break
  6. Comando de salto continue
  7. Entender comando aninhados
  8. múltiplas condições
  9. fluxograma break/continue

A linguagem de C# fornece os comandos de repetição for, while e do-while e foreach. Nesta parte do tutorial vamos aprender esses comandos.

Os comandos de repetição bem como o seus funcionamentos já foram discutidos em Portugol: Comandos de Repetição sendo a leitura recomendada.

Os operadores relacionais que podem ser utilizados como os comandos baixo podem ser vistos em C# : Operadores.

Para fazermos executar trechos de forma repetida e quando sabemos a quantidade de vezes, utilizamos o comando for que possui uma sintaxe abaixo:

Fig. 1: Fluxograma - Comando for
Sintaxe
for(inicialização ; condição ; atualização)
{
  //seu codigo aqui
}
Onde
inicialização: bloco para iniciar variável.
condição: condição para que a repetição seja executada.
atualização: atualização de variável utilizada em inicialização.
Exemplo 1
using System;

public class HelloWorld
{
    public static void Main(string[] args)
    {
        int a;
        
        for(a = 0; a < 3 ; a++)
        {
            Console.Write(a);
        }
    }
}
Saída
012

Tanto a inicialização quanto condição e atualização discutidos anteriormente podem conter mais de uma declaração ou expressão em seus respectivos blocos.

Exemplo 2

int i,j;
	    
for(i = 0,j=0; i < 10 || j <10 ; i++,j++){
    //omitido
}
Saída
-

A linguagem C# suporta a declaração de variável dentro do bloco inicialização como mostrado no exemplo abaixo:

Exemplo 3
using System;

public class HelloWorld
{
    public static void Main(string[] args)
    {
        for(int a = 0; a < 3 ; a++)
        {
            Console.Write(a);
        }
    }
}
Saída
012

Semelhante a C++ e Java, C# fornece um comando de repetição foreach que irá percorrer todos os elementos de uma coleção. A sintaxe do comando segue abaixo:

Fig. 2: Fluxograma - Comando foreach
Sintaxe
foreach (tipo_dado nome_variavel in nome_colecao)
{
  //seu codigo aqui
}
Onde
nome_colecao: objeto ou coleção que contem elementos do tipo tipo_dado.
tipo_dado: tipo de dado do elemento.

Apenas tipos de dados que utilizam iteradores podem ser utilizados com o comando foreach. Como exemplo, vetores, listas e semelhantes.

Exemplo 4
using System;

public class HelloWorld
{
    public static void Main(string[] args)
    {
        int[] array = {1,2,3};
        			
        foreach(int i in array){
          Console.Write(i);
        }
    }
}
Saída
123

O comando while, é utilizado quando precisamos executar várias repetições e não sabemos quantas vezes serão com exatidão. Porém, como se trata de um comando de repetição também pode ser usado como for.

Fig. 3: Comando while
Sintaxe
while(condicao)
{
  //seu código aqui
}
Exemplo 5
using System;

public class HelloWorld
{
    public static void Main(string[] args)
    {
        bool flag = true;
        
        while(flag == true)
        {
        	string opcaoUsuario = Console.ReadLine(); //aguarda entrada do teclado
        	
        	if (opcaoUsuario == "quit")
        	{
        		flag = false; //fim do loop
        	}
        	
        	Console.WriteLine(opcaoUsuario);
        }
    }
}
Saída
-

O comando do-while é semelhante ao comando while, porém executa o trecho de código que está contido em seu corpo e posteriormente verifica a condição para decidir se deve ou não continuar as repetições.

Fig. 4: Fluxograma - Comando do-while
Sintaxe
do
{
   //trecho de código executado em loop
}
while(condicao);
Exemplo 6
using System;

public class HelloWorld
{
    public static void Main(string[] args)
    {
        bool flag = true;
        do 
        {
             string opcaoUsuario = Console.ReadLine(); //aguarda entrada do teclado
             if ( opcaoUsuario == "quit" ){
        	    flag = false; //fim do loop
             }
             Console.WriteLine(opcaoUsuario);
        
        }while(flag == true);
    }
}
Saída
-

C#, assim como C e C++ e outras linguagens, fornece comandos de parada break e continue. Nesta parte do tutorial vamos aprender esses comandos.

Para parar a execução de um comando de repetição como for, while , do while ou foreach, a linguagem C# fornece o comando break:

Sintaxe
break;

Quando a linha de código contendo break é executada, o fluxo de execução do comando de repetição é parado e o fluxo é desviado para o fim do bloco de comando de repetição.

Exemplo 7
using System;

class HelloWorld {

  static void Main() {
    
        for (int contador = 0 ; contador < 5 ; contador++)
        {
            Console.Write(contador);
        	if (contador == 3)
        	    break;
        }
  }
}
Saída
0123

O comando break só pode ser utilizado dentro dos comandos for, while, do-while, switch e foreach.

Para pularmos a execução de apenas um laço/loop dos comandos de repetição for, while, do-while ou foreach, a linguagem C# fornece o comando continue:

Sintaxe
continue;

Quando a linha de código contendo continue é executada, o fluxo de execução do laço atual é parada. O fluxo é desviado para o início do próximo laço do bloco do comando.

Exemplo 8
using System;

class HelloWorld {

  static void Main() 
  {
    
        int[] array = {1,2,3};
        			
        foreach(int i in array)
        {
          if (i == 2)
            continue;
          Console.Write(i);
        }
  }
}
Saída
13

O comando continue só pode ser usado dentro dos comandos for, while e do-while e foreach.

  1. 05/08/2025 - revisão 2 - Ajustes: pontuais, 'objetivos', link 'Operadores', ordem fluxogramas, e sintaxes
  2. 14/10/2024 - revisão 1 - Correção: links portugol; Ajustes pontuais
  3. 06/03/2024 - versão inicial