Estruturas de Controle: Aprenda break, continue e goto
Domine Loops em C#: Técnicas For e While Avançadas
Imagina ter que escrever manualmente 100 vezes "Eu não vou esquecer o ponto e
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. vírgula no final da linha!" num programa. 🥵 É aí que os loops entram como heróis! Em C#, for e
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. while são suas ferramentas para automatizar repetições de forma inteligente. Vamos desvendar como usá-los sem cair em loops infinitos (ou na loucura!).
Imagine precisar repetir uma mesma tarefa
🤝 GitHub Básico: Versionamento para Iniciantes!Descubra como o GitHub facilita colaboração, versionamento e organização de código com este tutorial prático e essencial para desenvolvedores iniciantes. várias vezes no seu dia: verificar uma lista de seguidores, limpar uma pilha de arquivos, ou até mesmo rodar um teste simples centenas de vezes. Em vez de copiar e colar o mesmo trecho de código (ou fazer tudo manualmente), podemos usar loops em C#. Eles permitem executar
🔍 Comandos: Desacople Ações dos Botões!Aprenda a implementar comandos em C# para desacoplar lógica e interface usando MVVM, com exemplos práticos e dicas para melhor testabilidade e manutenção. blocos de código repetidas vezes, sem você precisar enlouquecer!
A seguir, vamos explorar duas poderosas estruturas de repetição
Utilizando Circuit Breaker e Retry de Forma AssíncronaAprenda a usar Retry e Circuit Breaker em C# para chamadas assíncronas, garantindo robustez, evitando falhas e melhorando a experiência do usuário.: for e
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. while. Veremos como elas funcionam, quando
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. usar cada uma e exemplos práticos que levam em conta situações do mundo real. Tudo passo a passo para você escrever código mais eficiente e automatizado.
👉 Neste artigo você vai:
- Dominar a sintaxe do
fore
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. while - Escolher o loop certo para cada situação
- Evitar armadilhas comuns
🔏 Criptografia Assimétrica: Domine RSA e Troca de Chaves!Descubra como a criptografia assimétrica protege a troca de chaves e garante segurança em sistemas digitais usando RSA, C# e práticas recomendadas. (como loops infinitos) - Aplicar em cenários
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. reais com exemplos práticos
📌 Conteúdo 🔗
1. O Que São Loops de Repetição
Utilizando Circuit Breaker e Retry de Forma AssíncronaAprenda a usar Retry e Circuit Breaker em C# para chamadas assíncronas, garantindo robustez, evitando falhas e melhorando a experiência do usuário.?
2. Loop for: Controle preciso de repetições
3. Loop while: Repetições condicionais
4. Quando
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. usar for vs while?
5. Loops aninhados: Um loop dentro do outro
6. Controlando o fluxo: break e
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. continue
7. Exemplo prático
📝 Logging com Serilog: Registre Tudo como um Detetive de Bugs!Aprenda a usar Serilog em .NET para registrar logs estruturados, identificar erros e enriquecer informações, transformando seu código num enigma solucionável.: Contagem Regressiva e Entrada do Usuário
8. Exemplo prático
📝 Logging com Serilog: Registre Tudo como um Detetive de Bugs!Aprenda a usar Serilog em .NET para registrar logs estruturados, identificar erros e enriquecer informações, transformando seu código num enigma solucionável.: Validando entrada de usuário
O Que São Loops de Repetição? 🔗
- Loops servem para repetir trechos de código várias vezes, de modo automático. A lógica é sempre basicamente:
1. Verificar se a condição para continuar executando ainda é verdadeira.
3. Repetir enquanto a condição for válida.
Isso economiza tempo (e linhas de código) e evita que você precise escrever praticamente o mesmo comando
🔍 Comandos: Desacople Ações dos Botões!Aprenda a implementar comandos em C# para desacoplar lógica e interface usando MVVM, com exemplos práticos e dicas para melhor testabilidade e manutenção. várias vezes.
Loop for: Controle preciso de repetições 🔗
O for é ideal quando
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. você sabe quantas vezes o loop deve executar
🔍 Comandos: Desacople Ações dos Botões!Aprenda a implementar comandos em C# para desacoplar lógica e interface usando MVVM, com exemplos práticos e dicas para melhor testabilidade e manutenção.. Sua estrutura é dividida em 3 partes:
for (inicialização; condição; incremento)
{
// Código a ser repetido
}
Exemplo real: Calcular a média
🎲 Desafio: Analise Dados de Vendas com LINQ e Coleções!Aprenda a usar coleções e LINQ em C# para analisar vendas, filtrar dados e extrair insights estratégicos que otimizem decisões e impulsionem seu negócio. de 5 notas
double soma = 0;
for (int i = 1; i <= 5; i++)
{
Console.Write($"Digite a nota {i}: ");
soma += Convert.ToDouble(Console.ReadLine());
}
Console.WriteLine($"Média: {soma / 5}");
🔍 Detalhamento:
int i = 1: Cria a variável
🧠 Variáveis em C#: Onde os Dados Ganham Vida (e Nome!)Descubra como as variáveis em C# funcionam, com exemplos do mundo real, boas práticas de nomeação e dicas para otimizar seu código. contadorai <= 5: Condição para continuar o loopi++: Incrementa o contador após cada iteração
💡 Dica: Use for quando
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. precisar de um contador controlado (ex: processar elementos de um array).
Loop while: Repetições condicionais 🔗
Diferente do for, o while não depende tanto de saber a quantidade
🎲 Desafio: Analise Dados de Vendas com LINQ e Coleções!Aprenda a usar coleções e LINQ em C# para analisar vendas, filtrar dados e extrair insights estratégicos que otimizem decisões e impulsionem seu negócio. de repetições de antemão. Ele se repete enquanto uma condição permanecer verdadeira. A sintaxe é:
while (condição)
{
// Código a ser repetido
}
O loop só para quando
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. a condição for falsa. Exemplos de uso
🔏 Criptografia Assimétrica: Domine RSA e Troca de Chaves!Descubra como a criptografia assimétrica protege a troca de chaves e garante segurança em sistemas digitais usando RSA, C# e práticas recomendadas. podem incluir aguardar a entrada de um usuário, verificar se um arquivo já chegou num diretório ou acompanhar um valor de sensor até atingir determinado ponto.
Exemplo real: Menu interativo
string opcao = "";
while (opcao != "sair")
{
Console.WriteLine("1 - Cadastrar\n2 - Listar\nsair - Sair");
opcao = Console.ReadLine().ToLower();
switch (opcao)
{
case "1": /* Cadastra */ break;
case "2": /* Lista */ break;
}
}
⚠️ Cuidado: Se a condição nunca virar false, você cria um loop infinito. Sempre atualize a variável
🧠 Variáveis em C#: Onde os Dados Ganham Vida (e Nome!)Descubra como as variáveis em C# funcionam, com exemplos do mundo real, boas práticas de nomeação e dicas para otimizar seu código. da condição!
Quando usar for vs while? 🔗
| Critério | for | while |
|---|---|---|
| Quando usar | Número conhecido de iterações | Número desconhecido de iterações |
| Contador | Integrado na sintaxe | Precisa ser gerenciado manualmente |
| Uso comum | Iterar sobre coleções | Esperar por entrada específica |
Exemplo de transição: Um for pode ser reescrito como while, mas
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. não é recomendado:
// For
for (int i=0; i<10; i++) { /* ... */ }
// Equivalente em while
int i=0;
while (i<10)
{
/* ... */
i++;
}
Loops aninhados: Um loop dentro do outro 🔗
Úteis para trabalhar com estruturas multidimensionais (ex: matrizes).
Exemplo real: Gerar tabuada
for (int i = 1; i <= 10; i++) // Linhas
{
for (int j = 1; j <= 10; j++) // Colunas
{
Console.Write($"{i*j}\t");
}
Console.WriteLine();
}
📊 Saída:
1 2 3 ... 10
2 4 6 ... 20
...
10 20 30 ... 100
🚨 Atenção: Loops aninhados aumentam a complexidade computacional. Evite aninhar além de 3 níveis.
Controlando o fluxo: break e continue 🔗
break: Interrompe todo o loop imediatamentecontinue: Pula para a próxima iteração do loop
Exemplo real: Procurar um item em uma lista
📦 List<T>: Dinamismo além dos Arrays!Descubra como utilizar List<T> em C# de forma eficiente. Aprenda a criar, manipular e otimizar listas para diferentes cenários com exemplos práticos.
string[] frutas = { "maçã", "banana", "uva", "pera" };
bool encontrou = false;
for (int i=0; i<frutas.Length; i++)
{
if (frutas[i] == "uva")
{
encontrou = true;
break; // Sai do loop assim que encontrar
}
}
Exemplo com continue: Ignorar
Maximizando Performance com Operadores Diferenciados (Skip, Take, AsParallel)Descubra como otimizar suas consultas LINQ com os poderosos operadores Skip, Take e AsParallel, melhorando performance e eficiência no tratamento de dados. números negativos
for (int i=0; i<10; i++)
{
if (i % 2 == 0)
continue; // Pula números pares
Console.WriteLine(i);
}
// Saída: 1 3 5 7 9
Exemplo prático: Contagem Regressiva e Entrada do Usuário 🔗
Para demonstrar como esses loops podem ajudar muito no dia a dia, vamos unir as ideias em dois exemplos compactos.
Suponha que você queira soltar um countdown de 5 segundos até algo acontecer:
Console.WriteLine("Em breve vamos iniciar a sequência de eventos:");
for (int i = 5; i > 0; i--)
{
Console.WriteLine($"Faltam {i} segundos...");
// Simulando algum tempo de espera
System.Threading.Thread.Sleep(1000);
}
Console.WriteLine("Começou!");
- Usamos
i--no lugar dei++para contar de forma decrescente. - Após cada segundo, mostramos quantos segundos faltam.
2) Entrada com while
Agora, digamos que você quer ficar perguntando ao usuário qual produto
🔢 Operadores Aritméticos: Faça Cálculos como uma Calculadora Humana!Aprenda a dominar operadores aritméticos em C# com exemplos práticos, técnicas de cálculo e dicas para evitar erros e maximizar resultados. ele quer comprar até ele digitar algo como "fim":
string produto = "";
while (produto != "fim")
{
Console.WriteLine("Digite o produto que deseja adicionar ao carrinho, ou digite 'fim' para finalizar:");
produto = Console.ReadLine();
if (produto != "fim")
{
Console.WriteLine($"O produto '{produto}' foi adicionado ao carrinho!");
}
}
Console.WriteLine("Compra finalizada. Obrigado!");
- Enquanto o usuário não digitar fim, continuaremos perguntando por novos produtos
🎲 Desafio: Analise Dados de Vendas com LINQ e Coleções!Aprenda a usar coleções e LINQ em C# para analisar vendas, filtrar dados e extrair insights estratégicos que otimizem decisões e impulsionem seu negócio.. - Assim que a palavra fim é detectada, saímos do loop.
Exemplo prático: Validando entrada de usuário 🔗
1. Pede ao usuário um número entre 1 e
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. 10
2. Repete até que a entrada seja válida
int numero;
while (true) // Loop infinito controlado
{
Console.Write("Digite um número entre 1 e 10: ");
bool valido = int.TryParse(Console.ReadLine(), out numero);
if (valido && numero >=1 && numero <=10)
break; // Entrada válida: sai do loop
Console.WriteLine("Erro! Tente novamente.");
}
Console.WriteLine($"Você digitou: {numero}");
- Use
forpara iterações contadas - Prefira
whilequando
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. a condição de parada é complexa - Evite loops infinitos garantindo que a condição mude
- Use
break/continuecom moderação (podem dificultar a leitura)
Conclusão 🔗
Dominar loops é como ganhar um superpoder de automação! Com for e
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. while, você pode:
- Processar coleções
Entendendo a arquitetura do MongoDB: documentos, coleções e bancos de dadosExplore os pilares da arquitetura MongoDB, integrando bancos de dados, coleções e documentos para impulsionar seu desenvolvimento em C# até 2025. de dados - Criar
📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!Descubra os fundamentos do REST e boas práticas para criar APIs simples, escaláveis e eficientes. Domine métodos HTTP e status codes com exemplos práticos. menus interativos - Validar entradas de usuário
- Implementar algoritmos complexos
Os loops for e
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. while em C# são perfeitos para lidar com tarefas repetitivas, sejam elas previsíveis ou condicionais. Agora que você sabe como cada um funciona, já tem a ferramenta certa para não precisar mais dar Ctrl+C e Ctrl+V no seu código. Explore as duas opções, crie seus próprios exemplos e entenda como cada loop pode se encaixar em diferentes cenários
📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. do seu dia a dia de programação!
Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.
Referências🔗
- .NET Documentation: learn.microsoft.com/pt-br/dotnet/
- Awesome .NET: github.com/quozd/awesome-dotnet
- C# Language Specification: learn.microsoft.com/pt-br/dotnet/csharp/language-reference/language-specification/
- GitHub: Microsoft/.NET: github.com/dotnet
- Microsoft Learn: C# e .NET: learn.microsoft.com/pt-br/dotnet/csharp/

há 11 months atrás
há 11 months atrás
há 10 months atrás
há 11 months atrás
há 11 months atrás
há 11 months atrás
há 11 months atrás
há 11 months atrás
há 11 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 11 months atrás
há 11 months atrás
há 11 months atrás
há 11 months atrás
há 11 months atrás
há 11 months atrás
há 11 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás