C declaração # interruptor
caso de teste uma instruçãoswitch permite que uma variável igual ao valor múltiplo.Cada valor é chamado de um caso, ea variável será testado cadacaso mude para ser verificado.
gramática
Alternar instrução na sintaxe C #:
switch (expressão) { maiúsculas-expressão constante: declaração (s); break; maiúsculas-expressão constante: declaração (s); break; / * Você pode ter qualquer número de instruções case * / default: / * opcional * / declaração (s); break; }
switch deve seguir estas regras:
- interruptor de expressão daindicação deve ser um tipo inteiro ou enumeração, ou um tipo de classe, que classe tem uma função de conversão única para convertê-lo em um tipo inteiro ou enumeração.
- Em um interruptor que você pode ter qualquer número de instruções case. Cada caso é seguido por um valor a comparar com um cólon.
- caso daconstante-expressão devem ter o mesmo tipo de dados e comutar variáveis, e deve ser uma constante.
- Quando a variável a ser testado é igual ao caso da constante de tempo, seguido por uma indicação de caso vai ser executada, até encontrar uma indicação daruptura.
- Quando uma instruçãobreak seja encontrada, mude termina o fluxo de controle salta para a próxima linha após a instrução switch.
- Não cada caso precisa incluirpausa.Se a instrução caso se encontra vazio, não pode conter umapausa, vamoscontinuara controlar o fluxo do processo subsequente, até encontrar uma ruptura.
- C # não é permitido para continuar a partir de uma seção de chaveamento para a seção de chave ao lado. Se a instrução caso tem declarações de processamento, ele deve incluirquebra adicional ou declaração salto.
- A instruçãoswitch pode ter um caso padrão opcional,ele aparece no final da chave. caso padrão pode ser utilizado em todo o caso acima não é verdadeira quando se realiza uma tarefa. Aquebra na instrução case default não é necessária.
- O C # não suporta etiqueta explícita de um caso para outro caso em todo o rótulo. Se você quer o apoio de uma etiqueta C # caso explícito através de outro caso rótulos, Goto pode usar uma opção de caso ou padrão Goto.
fluxograma
Exemplos
using System; decisório namespace { Programa de classe { static void Main (string [] args) { / * Definições de variáveis locais * / grau de char = 'B'; switch (grade) { caso 'A': Console.WriteLine ( "muito bom!"); break; caso 'B': caso 'C': Console.WriteLine ( "bem feito"); break; caso 'D': Console.WriteLine ( "Você passou"); break; caso 'F': Console.WriteLine ( "melhor tentar de novo"); break; default: Console.WriteLine ( "resultados inválidos"); break; } Console.WriteLine ( "Sua realização é {0}", grau); Console.ReadLine (); } } }
Quando o código acima é compilado e executado, ele produz os seguintes resultados:
Sua pontuação é bem B