Selecione ... Declaração de Caso em VB.Net com Exemplo

O que é um Select Case?

Select Case é uma declaração condicional, que ajuda a testar a igualdade de uma variável em relação a um conjunto de valores. Cada valor é referido como um caso, e uma variável que está sendo ativada deve ser verificada para todos os casos selecionados.

A instrução Select Case fornece uma maneira fácil de testar o conteúdo de uma variável. No entanto, ele só é adequado para uso quando uma variável em questão tem apenas um número limitado de opções.

Neste tutorial do VB Net, você aprenderá:

Sintaxe de Select Case

A instrução Select Case tem a seguinte sintaxe:

 Select [ Case ] your_expression [ Case expression_list [ statement(s) ] ] [ Case Else [ else statement(s) ] ] End Select 

Vamos descrever os parâmetros usados ​​acima:

  • your_expression: denota uma expressão que avalia um dos tipos de dados elementares suportados no Microsoft VB.NET.
  • expression_list: cláusulas de expressão que denotam os valores de correspondência para a expressão. Para o caso de cláusulas múltiplas, separe-as usando uma vírgula (,).
  • instrução (ões): instruções que seguem o Caso e são executadas após a expressão selecionada ter correspondido a qualquer cláusula em expression_list.
  • instruções else: instruções que seguem Case Else e são executadas uma vez que a expressão selecionada não corresponda a nenhuma das cláusulas na expression_list para qualquer instrução Case.

Exemplos

Vamos usar um exemplo para demonstrar como usar essa instrução.

Passo 1) Primeiro, crie um novo aplicativo de console.

Passo 2) Use o seguinte código:

 Module Module1 Sub Main() Dim name As String name = 'Guru99' Select Case name Case 'John' Console.WriteLine('Hello John') Case 'Guru99' Console.WriteLine('Hello Guru99') Case 'Alice' Console.WriteLine('Hello Alice') Case 'Joel' Console.WriteLine('Hello Joel') Case Else Console.WriteLine('unknown name') End Select Console.WriteLine('VB.NET is easy!') Console.ReadKey() End Sub End Module 

Etapa 3) Clique no botão Iniciar na barra superior para executar o programa. Isso lhe dará o seguinte resultado:

Aqui está uma captura de tela do código que usamos:

Explicação do código:

  1. Criando um módulo denominado Módulo1.
  2. Início do subprocedimento principal.
  3. Criando uma variável de string chamada name.
  4. Atribuindo um valor de Guru99 ao nome da variável.
  5. O valor de um nome de variável será usado para realizar comparações com as várias instruções Case para encontrar uma correspondência.
  6. Se o valor de um nome de variável for John.
  7. Texto a ser impresso no console se o caso acima for verdadeiro / correspondente.
  8. Se o valor de um nome de variável for Guru99.
  9. Texto a ser impresso no console se o caso acima for verdadeiro / correspondente.
  10. Se o valor de um nome de variável for Alice.
  11. Texto a ser impresso no console se o caso acima for verdadeiro / correspondente.
  12. Se o valor de um nome de variável for Joel.
  13. Texto a ser impresso no console se o caso acima for verdadeiro / correspondente.
  14. Se nenhuma das afirmações de caso acima for verdadeira / for correspondida.
  15. Texto a ser impresso no console se o Caso acima for verdadeiro, ou seja, nenhuma instrução Case for correspondida.
  16. Fim da instrução Select.
  17. Esta instrução irá imprimir algum texto na tela, independentemente se uma instrução Case foi correspondida ou não. Ele sempre será executado.
  18. Pause a janela do console por um momento, aguardando que um usuário execute uma ação para fechá-la.
  19. Fim do subprocedimento principal.
  20. Fim do módulo.

Você também pode permitir que o usuário digite o nome que você tomou com base nisso. Por exemplo:

Passo 1) Crie um novo aplicativo de console.

Passo 2) Use o seguinte código:

 Module Module1 Sub Main() Console.Write('Enter your name: ') Dim name As String = Console.ReadLine() Select Case name Case 'John' Console.WriteLine('Hello John') Case 'Guru99' Console.WriteLine('Hello Guru99') Case 'Alice' Console.WriteLine('Hello Alice') Case 'Joel' Console.WriteLine('Hello Joel') Case Else Console.WriteLine('unknown name') End Select Console.WriteLine('VB.NET is easy!') Console.ReadKey() End Sub End Module 

Etapa 3) Clique no botão Iniciar na barra superior para executá-lo. Ele deve retornar o seguinte:

Passo 4) Digite o nome Guru99 e pressione a tecla Enter. Você deve obter o seguinte:

Aqui está uma captura de tela do código:

Explicação do código:

  1. Criando um módulo denominado Módulo1.
  2. Início do subprocedimento principal.
  3. Imprimir algum texto no console instruindo o usuário a inserir seu nome.
  4. Criar uma variável de string chamada nome e solicitar que o usuário insira um valor para essa variável no console.
  5. O valor do nome da variável será usado para realizar comparações com as várias instruções Case para encontrar uma correspondência.
  6. Se o valor do nome da variável for John.
  7. Texto a ser impresso no console se o caso acima for verdadeiro / correspondente.
  8. Se o valor do nome da variável for Guru99.
  9. Texto a ser impresso no console se o caso acima for verdadeiro / correspondente.
  10. Se o valor do nome da variável for Alice.
  11. Texto a ser impresso no console se o caso acima for verdadeiro / correspondente.
  12. Se o valor do nome da variável for Joel.
  13. Texto a ser impresso no console se o caso acima for verdadeiro / correspondente.
  14. Se nenhuma das afirmações de caso acima for verdadeira / for correspondida.
  15. Texto a ser impresso no console se o Caso acima for verdadeiro, ou seja, nenhuma instrução Case for correspondida.
  16. Fim da instrução Select.
  17. Esta instrução irá imprimir algum texto na tela, independentemente se uma instrução Case foi correspondida ou não. Ele sempre será executado.
  18. Pause a janela do console por um momento, aguardando que um usuário execute uma ação para fechá-la.
  19. Fim do subprocedimento principal.
  20. Fim do módulo.

Sensível a maiúsculas e minúsculas: ToLower, ToUpper

A instrução Select Case diferencia maiúsculas de minúsculas. Isso significa que ele tratará on2vhf como diferente de Guru99. No entanto, podemos usar as funções ToLower () e ToUpper () para lidar com o problema de um caso com esta instrução.

Por exemplo:

Passo 1) Crie um novo aplicativo de console.

Passo 2) Use o seguinte código:

 Module Module1 Sub Main() Console.Write('Enter your name: ') Dim name As String = Console.ReadLine() Select Case name.ToLower() Case 'john.' Console.WriteLine('Hello John') Case 'on2vhf.' Console.WriteLine('Hello Guru99') Case 'alice.' Console.WriteLine('Hello Alice') Case 'joel.' Console.WriteLine('Hello Joel') Case Else Console.WriteLine('unknown name') End Select Console.WriteLine('VB.NET is easy!') Console.ReadKey() End Sub End Module 

Etapa 3) Clique no botão Iniciar na barra superior para executar o código. Você deve obter a seguinte saída:

Passo 4) Digite o nome Guru99 (G é maiúsculo) e pressione a tecla Enter no teclado. Você deve obter o seguinte:

Aqui está uma captura de tela do código:

Explicação do código:

Linha de código 5: O valor do nome da variável será usado para realizar comparações com as várias instruções Case para encontrar uma correspondência. A função ToLower () garantirá que qualquer nome digitado pelo usuário seja primeiro convertido em minúsculas antes da avaliação das instruções Case. Isso significa que se o usuário digitar Guru99, ele será imediatamente convertido em on2vhf e, em seguida, a avaliação das declarações Case será feita. Se o usuário digitar John, ele será imediatamente convertido em john antes que a avaliação das instruções Case seja feita.

O resto do código é igual ao anterior.

Resumo

  • A instrução Select Case fornecida pelo VB.NET ajuda a avaliar um valor em relação a um conjunto de valores por meio de correspondência.
  • Só é adequado se os valores possíveis da variável em questão forem conhecidos como limitados.
  • A instrução Select Case diferencia maiúsculas de minúsculas.
  • Você pode usar as funções ToLower () e ToUpper () para converter strings em minúsculas e maiúsculas, respectivamente.