Ir para o conteúdo do rodapé
Iron Academy Logo
Aprenda C#
Aprenda C#

Outras categorias

Entendendo as instruções if-else em C#: um guia para iniciantes

Layla Porter
7m 37s

Na programação em C#, a tomada de decisões baseada em condições é um aspecto fundamental na criação de aplicações dinâmicas e responsivas. É aqui que entram em jogo as instruções if-else. Em C#, uma instrução if-else permite que um programa execute diferentes blocos de código dependendo se uma condição específica é verdadeira ou falsa.

Este guia, inspirado no vídeo " C# para Iniciantes Parte 2 - Aprenda a escrever uma instrução 'if-else' e um loop 'while '" de LaylaCodesIt , apresentará os conceitos básicos da instrução if-else em C#, o uso de operadores condicionais e lógicos na escrita de condições booleanas e demonstrará como fazer com que seus programas interajam de forma inteligente com a entrada do usuário.

Introdução à lógica condicional

A lógica condicional permite que um programa tome decisões com base em determinadas condições. O vídeo de Layla apresenta o conceito e a sintaxe da instrução if-else, um exemplo de lógica condicional, que executa diferentes blocos de código dependendo se uma condição específica é verdadeira ou falsa.

No exemplo de código a seguir, Layla codifica uma mensagem de saudação para perguntar se o usuário gosta de queijo:

// Asking the user a question and storing their response
Console.WriteLine($"Hello {name}, do you like cheese?");
string doTheyLikeCheese = Console.ReadLine();
// Asking the user a question and storing their response
Console.WriteLine($"Hello {name}, do you like cheese?");
string doTheyLikeCheese = Console.ReadLine();

Simple If-Else Statement in C

Em seguida, essa instrução condicional if-else verifica a resposta do usuário e altera a saída de acordo com o que o usuário disse. A condição é construída usando operadores condicionais e, com base em seu resultado, as instruções dentro dos blocos if-else são executadas. Aqui está um exemplo simples com uma única linha de comando:

// Checking the user's response and providing appropriate output
if (doTheyLikeCheese == "yes")
{
    Console.WriteLine("Here is a lump of cheese.");
}
else
{
    Console.WriteLine("Here is a lump of coal.");
}
// Checking the user's response and providing appropriate output
if (doTheyLikeCheese == "yes")
{
    Console.WriteLine("Here is a lump of cheese.");
}
else
{
    Console.WriteLine("Here is a lump of coal.");
}

Se o usuário disser 'sim', o código dentro da instrução if exibirá uma mensagem oferecendo um pedaço de queijo. Se o usuário responder com qualquer coisa diferente de 'sim', o bloco else exibirá "Aqui está um pedaço de carvão".

Problema de sensibilidade a maiúsculas e minúsculas

Com uma instrução if-else básica, um problema comum pode ocorrer: a diferenciação entre maiúsculas e minúsculas. Se o usuário digitar 'Sim' em vez de 'sim', o programa não reconhecerá como uma entrada válida. Para resolver isso, Layla usa o método ToLower(), que converte automaticamente a entrada do usuário para minúsculas e evita o problema de sensibilidade a maiúsculas e minúsculas.

// Using ToLower() to handle case sensitivity in user input
if (doTheyLikeCheese.ToLower() == "yes")
{
    Console.WriteLine("Here is a lump of cheese.");
}
else
{
    Console.WriteLine("Here is a lump of coal.");
}
// Using ToLower() to handle case sensitivity in user input
if (doTheyLikeCheese.ToLower() == "yes")
{
    Console.WriteLine("Here is a lump of cheese.");
}
else
{
    Console.WriteLine("Here is a lump of coal.");
}

Lidar com múltiplas condições

Em seguida, Layla explica como lidar com mais de duas respostas possíveis usando a instrução else-if. Aqui, o programa verifica várias declarações condicionais - se o usuário responde com 'sim', 'não' ou qualquer outra coisa.

// Checking multiple conditions using else-if
if (doTheyLikeCheese.ToLower() == "yes")
{
    Console.WriteLine("Here is a lump of cheese.");
}
else if (doTheyLikeCheese.ToLower() == "no")
{
    Console.WriteLine("Here is a lump of coal.");
}
else
{
    Console.WriteLine("Please give a yes or no answer.");
}
// Checking multiple conditions using else-if
if (doTheyLikeCheese.ToLower() == "yes")
{
    Console.WriteLine("Here is a lump of cheese.");
}
else if (doTheyLikeCheese.ToLower() == "no")
{
    Console.WriteLine("Here is a lump of coal.");
}
else
{
    Console.WriteLine("Please give a yes or no answer.");
}

Assim como antes, se a expressão booleana na instrução "if" for verdadeira, o programa oferece um pedaço de queijo se o usuário disser "sim". No entanto, em vez de oferecer um pedaço de carvão para qualquer outra resposta, na instrução else-if, agora isso só acontece quando o usuário responde com 'não'. Se o usuário responder com algo diferente de 'sim' ou 'não', a parte "else" do programa solicitará que o usuário forneça uma resposta de sim ou não. Vejamos o resultado do código acima em ação: (A imagem pode ser melhorada)

Understanding Csharp If Else Statements 1 related to Lidar com múltiplas condições

Utilizando laços

Para garantir que o usuário forneça uma resposta válida, são introduzidos loops. Um loop pode solicitar repetidamente a entrada do usuário até que ele forneça uma resposta correta. Isso se chama loop 'while', e o exemplo a seguir mostra como ele funciona:

// Using a while loop to repeatedly ask for valid input
bool hasAnswered = false;

while (!hasAnswered)
{
    // Checking the user's response and setting hasAnswered to true for valid responses
    if (doTheyLikeCheese.ToLower() == "yes")
    {
        Console.WriteLine("Here is a lump of cheese.");
        hasAnswered = true;
    }
    else if (doTheyLikeCheese.ToLower() == "no")
    {
        Console.WriteLine("Here is a lump of coal.");
        hasAnswered = true;
    }
    else
    {
        Console.WriteLine("Please give a yes or no answer.");
        doTheyLikeCheese = Console.ReadLine();
    }
}
// Using a while loop to repeatedly ask for valid input
bool hasAnswered = false;

while (!hasAnswered)
{
    // Checking the user's response and setting hasAnswered to true for valid responses
    if (doTheyLikeCheese.ToLower() == "yes")
    {
        Console.WriteLine("Here is a lump of cheese.");
        hasAnswered = true;
    }
    else if (doTheyLikeCheese.ToLower() == "no")
    {
        Console.WriteLine("Here is a lump of coal.");
        hasAnswered = true;
    }
    else
    {
        Console.WriteLine("Please give a yes or no answer.");
        doTheyLikeCheese = Console.ReadLine();
    }
}

No exemplo acima, o loop continua a solicitar informações ao usuário até que ele responda com 'sim' ou 'não'. Aqui você pode ver o código em ação, no vídeo da Layla:

Understanding Csharp If Else Statements 2 related to Utilizando laços

Declaração If-Else - Resumo

Resumindo:

  • Uma instrução if-else pode tomar decisões em seu código.
  • Você pode lidar com múltiplas condições usando instruções else-if.
  • Os loops garantem que os usuários respondam corretamente.

A lógica condicional é fundamental na linguagem de programação C#, portanto, é melhor praticar esses conceitos e começar a incluí-los em seu código. E isso é apenas o começo. Declaração condicional (if), declaração condicional (else), estrutura condicional (else-if), estrutura condicional dentro de estrutura condicional (if-else), também chamada de estrutura condicional aninhada (if-else), declaração condicional (switch) - a lógica condicional pode mudar drasticamente seu programa e há muito o que aprender sobre ela.

Conclusão

E pronto! Este é o guia para iniciantes sobre instruções if-else e loops while. Como mencionado anteriormente, este guia foi inspirado por LaylaCodesIt - confira o canal dela para ver demonstrações em vídeo de tudo o que foi mencionado acima e para obter mais informações sobre programação em C#.

Enquanto isso, confira nossos outros recursos, onde ela compartilha nossos criadores favoritos, tutoriais e materiais de aprendizado para aprimorar suas habilidades em C#. Boa programação!

Hero Worlddot related to Entendendo as instruções if-else em C#: um guia para iniciantes
Hero Affiliate related to Entendendo as instruções if-else em C#: um guia para iniciantes

Ganhe mais compartilhando o que você ama.

Você cria conteúdo para desenvolvedores que trabalham com .NET, C#, Java, Python ou Node.js? Transforme sua expertise em renda extra!

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim