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á:
- O que é um Select Case?
- Sintaxe de Select Case
- Exemplos
- Sensível a maiúsculas e minúsculas: ToLower, ToUpper
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.
Etapa 1) Primeiro, crie um novo aplicativo de console.
Etapa 2) Use o seguinte código:
Module Module1Sub Main()Dim name As Stringname = "Guru99"Select Case nameCase "John"Console.WriteLine("Hello John")Case "Guru99"Console.WriteLine("Hello Guru99")Case "Alice"Console.WriteLine("Hello Alice")Case "Joel"Console.WriteLine("Hello Joel")Case ElseConsole.WriteLine("unknown name")End SelectConsole.WriteLine("VB.NET is easy!")Console.ReadKey()End SubEnd 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:
- Criando um módulo denominado Módulo1.
- Início do subprocedimento principal.
- Criando uma variável de string chamada name.
- Atribuindo um valor de Guru99 ao nome da variável.
- 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.
- Se o valor de um nome de variável for John.
- Texto a ser impresso no console se o caso acima for verdadeiro / correspondente.
- Se o valor de um nome de variável for Guru99.
- Texto a ser impresso no console se o caso acima for verdadeiro / correspondente.
- Se o valor de um nome de variável for Alice.
- Texto a ser impresso no console se o caso acima for verdadeiro / correspondente.
- Se o valor de um nome de variável for Joel.
- Texto a ser impresso no console se o caso acima for verdadeiro / correspondente.
- Se nenhuma das afirmações de caso acima for verdadeira / for correspondida.
- Texto a ser impresso no console se o Caso acima for verdadeiro, ou seja, nenhuma instrução Case for correspondida.
- Fim da instrução Select.
- Esta instrução irá imprimir algum texto na tela, independentemente se uma instrução Case foi correspondida ou não. Ele sempre será executado.
- Pause a janela do console por um momento, esperando que um usuário execute uma ação para fechá-la.
- Fim do subprocedimento principal.
- Fim do módulo.
Você também pode permitir que o usuário digite o nome que você tomou com base nisso. Por exemplo:
Etapa 1) Crie um novo aplicativo de console.
Etapa 2) Use o seguinte código:
Module Module1Sub Main()Console.Write("Enter your name: ")Dim name As String = Console.ReadLine()Select Case nameCase "John"Console.WriteLine("Hello John")Case "Guru99"Console.WriteLine("Hello Guru99")Case "Alice"Console.WriteLine("Hello Alice")Case "Joel"Console.WriteLine("Hello Joel")Case ElseConsole.WriteLine("unknown name")End SelectConsole.WriteLine("VB.NET is easy!")Console.ReadKey()End SubEnd Module
Etapa 3) Clique no botão Iniciar na barra superior para executá-lo. Ele deve retornar o seguinte:
Etapa 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:
- Criando um módulo denominado Módulo1.
- Início do subprocedimento principal.
- Imprimir algum texto no console instruindo o usuário a inserir seu nome.
- Criar uma variável de string chamada nome e solicitar que o usuário insira um valor para essa variável no console.
- 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.
- Se o valor do nome da variável for John.
- Texto a ser impresso no console se o caso acima for verdadeiro / correspondente.
- Se o valor do nome da variável for Guru99.
- Texto a ser impresso no console se o caso acima for verdadeiro / correspondente.
- Se o valor do nome da variável for Alice.
- Texto a ser impresso no console se o caso acima for verdadeiro / correspondente.
- Se o valor do nome da variável for Joel.
- Texto a ser impresso no console se o caso acima for verdadeiro / correspondente.
- Se nenhuma das afirmações de caso acima for verdadeira / for correspondida.
- Texto a ser impresso no console se o Caso acima for verdadeiro, ou seja, nenhuma instrução Case for correspondida.
- Fim da instrução Select.
- Esta instrução irá imprimir algum texto na tela, independentemente se uma instrução Case foi correspondida ou não. Ele sempre será executado.
- Pause a janela do console por um momento, esperando que um usuário execute uma ação para fechá-la.
- Fim do subprocedimento principal.
- 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á guru99 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:
Etapa 1) Crie um novo aplicativo de console.
Etapa 2) Use o seguinte código:
Module Module1Sub Main()Console.Write("Enter your name: ")Dim name As String = Console.ReadLine()Select Case name.ToLower()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 ElseConsole.WriteLine("unknown name")End SelectConsole.WriteLine("VB.NET is easy!")Console.ReadKey()End SubEnd Module
Etapa 3) Clique no botão Iniciar na barra superior para executar o código. Você deve obter a seguinte saída:
Etapa 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 guru99 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.
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.