Entendendo as instruções if-else em C#: um guia para iniciantes
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)

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:

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!



