Instruções de loop C# IF, Switch, For e While [Exemplos]

⚡ Resumo Inteligente

Em C#, as instruções condicionais e os laços de repetição controlam o fluxo de um programa executando ou repetindo blocos de código com base em uma lógica. As instruções `if`, `switch`, `while` e `for` permitem que um programa tome decisões e itere de forma eficiente.

  • 🔀 Controle de fluxo: As instruções condicionais alteram a ordem de execução, de modo que um programa execute apenas as instruções que correspondem à sua lógica.
  • Declaração condicional: A instrução `if` avalia uma expressão booleana e executa um bloco quando ela é verdadeira e outro quando é falsa.
  • 🔢 Declaração switch: A instrução switch compara um valor com vários rótulos de caso e usa break para interromper a operação assim que uma correspondência for encontrada.
  • 🔁 Enquanto loop: O laço while repete um bloco de instruções enquanto sua condição permanecer verdadeira, o que é adequado para um número desconhecido de iterações.
  • 🔄 Para loop: O laço `for` inicializa, testa e incrementa um contador em uma única linha, ideal quando o número de repetições é conhecido.
  • 🤖 Assistência de IA: O GitHub Copilot cria rascunhos de lógica condicional (if), de seleção (switch) e de repetição (loop), enquanto o ML.NET reutiliza as mesmas condições para ramificar os fluxos de trabalho de aprendizado de máquina.

Instruções condicionais em C#

Controle de fluxo e declarações condicionais

O controle de fluxo e as instruções condicionais estão disponíveis em qualquer linguagem de programação para alterar o fluxo de um programa.

Por exemplo, se alguém quiser executar apenas um conjunto específico de instruções com base em uma determinada lógica, o controle de fluxo e as instruções condicionais serão úteis.

Você entenderá melhor à medida que examinarmos as várias instruções disponíveis em C#.

Observe que todo o código abaixo é feito no arquivo Program.cs.

1) Se declaração

A instrução `if` é usada para avaliar uma expressão booleana antes de executar um conjunto de instruções. Se a expressão for avaliada como verdadeira, um conjunto de instruções será executado; caso contrário, outro conjunto de instruções será executado.

No exemplo abaixo, é feita uma comparação para uma variável chamada `value`. Se o valor da variável for menor que 10, uma instrução será executada; caso contrário, outra instrução será executada.

Declaração If

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program 
 {
  static void Main(string[] args) 
  {
   Int32 value = 11;
   
   if(value<10)
   {
    Console.WriteLine("Value is less than 10");
   }
   else
   {
    Console.WriteLine("Value is greater than 10");
   }
    Console.ReadKey();
  }
 }
}

Code Explicação:-

  1. Primeiro definimos uma variável chamada valor e a definimos com o valor 11.
  2. Em seguida, usamos a instrução 'if' para verificar se o valor é menor que 10 da variável. O resultado será verdadeiro ou falso.
  3. Se a condição if for avaliada como verdadeira, enviamos a mensagem “O valor é menor que 10” para o console.
  4. Se a condição if for avaliada como falsa, enviamos a mensagem “O valor é maior que 10” para o console.

Se o código acima for inserido corretamente e o programa for executado com sucesso, a seguinte saída será exibida.

Saída:

Declaração If

Podemos ver claramente que a declaração 'if' foi avaliada como falsa. Daí a mensagem “Valor é maior que 10” foi enviada ao console.

2) Instrução de troca

A instrução switch é um aprimoramento da instrução 'if'. Se você tiver várias expressões que precisam ser avaliadas de uma só vez, escrever várias instruções 'if' se tornará um problema.

A instrução switch é usada para avaliar uma expressão e executar instruções diferentes com base no resultado da expressão. Se uma condição não for avaliada como verdadeira, a instrução switch passará para a próxima condição e assim por diante.

Vejamos como isso funciona com o exemplo abaixo. Aqui, estamos novamente comparando o valor de uma variável chamada 'valor'. Em seguida, verificamos se o valor é igual a 1, 2 ou algo totalmente diferente.

Declaração de mudança

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args) 
  {
   Int32 value=11;
   switch(value) 
   {
     case 1: Console.WriteLine("Value is 1");	
     break;
     case 2: Console.WriteLine("Value is 2");
     break;
     default: Console.WriteLine("value is different");
     break;
   }
  }
 }
}

Code Explicação:-

  1. Primeiro definimos uma variável chamada 'valor' e definimos-a com o valor 11.
  2. Em seguida, usamos a instrução 'switch' para verificar o valor da variável 'valor'.
  3. As instruções case são usadas para definir condições diferentes. Com base nas condições, um conjunto de instruções pode ser executado. Uma instrução switch pode ter múltiplas condições de caso. A primeira instrução case verifica se o valor da variável é igual a 1.
  4. Se a primeira instrução case for verdadeira, a mensagem “Value is 1” será gravada no console.
  5. A instrução break é usada para interromper toda a instrução switch, uma vez que uma condição é verdadeira.
  6. A condição padrão é uma condição especial. Isso significa apenas que, se nenhuma expressão case for avaliada como verdadeira, execute o conjunto de instruções para a condição padrão.

Se o código acima for inserido corretamente e o programa for executado com sucesso, a seguinte saída será exibida. A saída imprime o valor padrão “O valor é diferente”, pois nenhuma condição é satisfeita.

Saída:

Declaração de mudança

3) loop while

O loop while é usado para fins iterativos. Suponha que se você deseja repetir um determinado conjunto de instruções por um determinado número de vezes, então o loop while é usado.

Em nosso exemplo abaixo, usamos a instrução while para exibir o valor de uma variável 'i'. A instrução while é usada para exibir o valor 3 vezes.

Enquanto loop

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args) 
  {
   Int32 value=3,i=0;
   
   while(i<value)
   {
    Console.WriteLine(i);
    i=i+1;
   }
    Console.ReadKey(); 
  }
 }
}

Code Explicação:-

  1. Dois inteiros variáveis são definidos, sendo um valor e o outro 'i'. A variável value é usada como o limite superior até o qual devemos iterar nossa instrução while. E 'i' é a variável que será processada durante a iteração.
  2. Na instrução while, o valor de 'i' é constantemente verificado em relação ao limite superior.
  3. Aqui exibimos o valor de 'i' no console. Também incrementamos o valor de 'i'.

Se o código acima for inserido corretamente e o programa for executado com sucesso, a seguinte saída será exibida.

Saída:

Enquanto loop

Aqui você pode ver que a instrução while é executada 3 vezes e incrementada ao mesmo tempo. E cada vez exibia o valor atual da variável 'i'.

4) Para loop

O laço 'for' também é usado para fins iterativos. Suponha que você queira repetir um determinado conjunto de instruções um certo número de vezes; nesse caso, o laço 'for' é utilizado.

Em nosso exemplo abaixo, usamos a instrução 'for' para exibir o valor de uma variável 'i'. A instrução 'for' é usada para exibir o valor 3 vezes.

Para loop

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args) 
  {
   for(Int32 i=0;i<3;i++)
   {
    Console.WriteLine(i);
   }
    Console.ReadKey(); 
  
  }
 }
}

Code Explicação:-

  1. A palavra-chave 'for' é usada para iniciar a instrução 'for loop'.
  2. No 'loop for', definimos 3 coisas. A primeira é inicializar o valor de uma variável, que será usada no 'loop for'.
  3. A segunda é comparar o valor do 'i' com um limite superior. No nosso caso, o limite superior é o valor 3 (i<3).
  4. Finalmente, incrementamos o valor de 'i' de acordo.
  5. Aqui exibimos o valor de 'i' no console.

Se o código acima for inserido corretamente e o programa for executado com sucesso, a seguinte saída será exibida.

Saída:

Para loop

Aqui você pode ver que a instrução 'for' é executada 3 vezes. E cada vez exibia o valor atual da variável 'i'.

Perguntas Frequentes

A instrução `if` lida com intervalos e condições booleanas complexas, enquanto a instrução `switch` compara um valor com vários rótulos de caso fixos. `switch` é mais elegante para muitos valores discretos, enquanto `if-else` é adequado para intervalos, múltiplas variáveis ​​e operadores lógicos.

Uma instrução `if` aninhada coloca uma instrução `if` dentro de outra, de modo que a condição interna só é testada quando a condição externa é verdadeira. Isso permite que um programa verifique várias condições dependentes, embora o aninhamento excessivo reduza a legibilidade.

Um loop while testa sua condição antes de cada iteração, portanto, pode ser executado zero vezes. Um loop do-while testa a condição após o corpo do loop, portanto, sempre é executado pelo menos uma vez, o que é adequado para menus e validação de entrada.

A instrução `break` encerra um loop ou switch imediatamente, enquanto a instrução `continue` ignora o restante da iteração atual e passa para a próxima. Ambas alteram o fluxo, mas somente `break` encerra o loop completamente.

O operador ternário ?: é uma forma compacta de if-else. Ele avalia uma condição, retornando o primeiro valor quando a condição é verdadeira e o segundo valor quando é falsa, produzindo uma atribuição concisa em uma única linha.

Um laço `foreach` itera sobre cada elemento de uma coleção, como um array ou uma lista, sem a necessidade de um índice ou contador. Ele lê a coleção de forma segura e evita erros comuns de índice fora de um ou de intervalo.

Sim. O GitHub Copilot sugere blocos `if`, `switch`, `while` e `for` a partir de um comentário ou nome de método dentro do Visual Studio e VS Code. RevAnalise cada sugestão para as condições corretas e os limites do loop, pois o Copilot pode introduzir erros de um em um.

Os pipelines do ML.NET usam instruções condicionais em C# para ramificar com base nos valores das características e loops para iterar sobre as linhas de treinamento. A mesma lógica `if`, `switch` e `for` prepara os dados e direciona as previsões, mantendo-as em execução.ping Um fluxo de trabalho de aprendizado de máquina fortemente tipado.

Resuma esta postagem com: