Como já aprendemos nos capítulos anteriores, podemos controlar o fluxo de execução de aplicativos com base em determinadas condições. Há um número de declarações que podem ser usadas para o mesmo propósito. Vimos na Parte 4 que podemos usar "if statement" para testar a entrada do usuário em várias condições. Também aprendemos sobre operadores, expressões e declarações na Parte 5.
Neste capítulo, aprenderemos mais sobre uma declaração que pode ser usada como alternativa para "se declaração" e operador condicional equivalente a “if statement”.
O mudar a indicação ”É uma alternativa flexível para“if statement”, mas somente se precisarmos testar um número de condições. O uso de “switch statement” nos ajuda a ignorar blocos de códigos para os quais o valor não satisfaz a condição. Vamos criar um projeto de exemplo para você entender perfeitamente.
Você pode abrir nosso aplicativo antigo desenvolvido em “if statement” ou então você pode até baixar o projeto que criei para este tutorial. Agora espero que você tenha aberto o nosso projeto antigo ou tenha baixado meu projeto. Como de costume, clique duas vezes no botão "Enviar" para ir para o evento de clique desse botão. Vamos começar com o operador condicional, em vez da "declaração if" anterior para o mesmo exemplo. Escreva o seguinte código no evento button_click.
string message = (txtInput.Text == '1') ? 'Boat': 'Car';
txtResult.Text = 'You won a ' +message;
Sim é isso. Agora tente executar o programa e verifique se está funcionando. Trabalhando bem como antes? Este é o poder dos operadores (?:).
Quando queremos verificar uma condição e, com base no resultado, mostrar o resultado, podemos usar esses dois operadores juntos para formar o efeito da instrução if-else. No primeiro escalão definimos nossa condição (para checar a entrada do usuário se é igual a 1 ou não) precedida por um “?”. Se for verdade, então o primeiro valor que precede “?” será armazenado em nossa variável string, mas se a expressão resultar em false, o valor anterior “:” será armazenado. Você pode ver quantos toques de tecla ele pode economizar se usá-lo corretamente!
Agora comente este código e vamos nos voltar para "switch statement". Copie o seguinte código e cole-o no evento button_click, como fez antes.
string message = '';
switch (txtInput.Text)
{
case '1':
message = 'You won a new car!';
break;
case '2':
message = 'You won a new boat!';
break;
case '3':
message = 'You won a new cat!';
break;
default:
message = 'Sorry, we didn't understand your response. You lose.';
break;
}
txtResult.Text = 'You won a ' +message;
Agora tente executar o programa. Você verá que este programa funciona da mesma maneira que o anterior. Esta é a funcionalidade da instrução switch.
Se acontecer de os programas não encontrarem nenhum valor de caso que corresponda à condição, declaração padrão funciona como declaração final “else” e o código do bloco que precede “default” será executado.
Uma coisa deve ser notada aqui e isso é declaração de quebra ”Após cada caso. Ajuda o programa a sair do “switch” depois de um caso ser executado.
Você pode encontrar tudo sobre uma "declaração switch" aqui.
Então agora você tem 3 armas no seu arsenal para controlar o programa com base nas decisões, domine todas elas até retornarmos com o próximo tutorial, onde aprenderemos sobre “para iterações e loop”.