English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O C# oferece muitas instruções de decisão, que ajudam a controlar o fluxo de um programa C# com base em certas condições lógicas. Aqui, você aprenderá sobre as instruções if, else if, else e if else aninhados para controlar o fluxo com base em condições.
O C# inclui os seguintes tipos de instruções if:
instrução if
else-instrução if
instrução else
A instrução if contém uma condição booleana seguida por um bloco de código a ser executado. Durante a execução, se a condição booleana for avaliada como true, o bloco de código será executado; caso contrário, não será executado.
if(condition) { //bloco de código a ser executado quando a condição if for verdadeira }
int i = 10, j = 20; if (i < j) { else if (i > j) } if(i > j) { else{ }
i é menor que j
No exemplo acima, a condição booleana i < j da primeira instrução if é avaliada como true, portanto, o compilador C# executará o seguinte bloco de código. A condição i > j da segunda instrução if é avaliada como false, portanto, o compilador não executará seu bloco de código.
A expressão de condição deve retornar um valor booleano, caso contrário, o compilador C# emitirá um erro de tempo de compilação.
int i = 10, j = 20; if(i + 1) { Console.WriteLine("i é menor que j"); } if(i + j) { Console.WriteLine("i é maior que j"); }
Você pode chamar uma função que retorna um valor booleano no if.
static void Main(string[] args) { int i = 10, j = 20; if(isGreater(i, j)) { Console.WriteLine("i é menor que j"); } if(isGreater(j, i)) { Console.WriteLine("j é maior que i"); } } static bool isGreater(int i, int j) { return i > j; }
pode usar várias instruções else if após a instrução if. Ela só é executada quando o resultado de cálculo da condição if for falso. Portanto, uma instrução if ou else if pode ser executada, mas não ambas ao mesmo tempo.
if(condition1) { //se condition1bloco de código a ser executado quando avaliado como verdadeiro } else if(condition2) { // quando o bloco de código é executado // condition1é calculado como flase // condition2é calculado como verdadeiro } else if(condition3) { // quando o bloco de código é executado // condition1é calculado como flase // condition2é calculado como falso // condition3é calculado como verdadeiro }
O exemplo a seguir demonstra a instrução else if.
int i = 10, j = 20; if(i == j) { Console.WriteLine("i é igual a j"); } else if(i > j) { else{ } else if(i < j) { else if (i > j) }
i é menor que j
A instrução else pode apenas aparecer após a instrução if ou else if e só pode aparecer no if-A instrução else é usada uma vez na instrução else. A instrução else não pode conter nenhuma condição e será executada quando todos os resultados de cálculo dos condições if e else if forem falsos.
int i = 20, j = 20; if(i > j) { Console.WriteLine("i maior que j"); } else if(i < j) { Console.WriteLine("i menor que j"); } else { Console.WriteLine("i igual a j"); }
i é igual a j
C suporta outro if-if dentro da instrução else-instrução else. Isso é chamado de if aninhado-instrução else. A instrução if aninhada torna o código mais legível.
if(condition1) { if(condition2) { // quando o bloco de código é executado // condition1e condition2é calculado como verdadeiro } else if(condition3) { if(condition4) { // quando o bloco de código é executado // só condition1e condition3e condition4o resultado da conta é verdadeiro } else if(condition5) { // quando o bloco de código é executado // só condition1e condition3e condition5o resultado da conta é verdadeiro } else { // quando o bloco de código é executado // condition1e condition3é avaliado como verdadeiro // condition4e condition5O resultado da conta é falso } } }
O exemplo a seguir demonstra a sentença if else aninhada.
int i = 10, j = 20; if (i < j) { { else if (i > j) } { else{ } } Console.WriteLine("i é igual a j"); }
i é menor que j
Use o operador ternário ? : para substituir a sentença if else simples.