Select Case
Instrução
empregada para executar um ou mais grupos de instruções, dependendo do valor da
expressão avaliada na cláusula Select Case, utilizando esta sintaxe:
Select Case Expressão
[Case
ValorDaExpressão1
[Instruções1]
...
[Case ValorDaExpressãon
[Instruçõesn]
...
Case Else
[Instruçõeselse]
End Select
Onde,
- Expressão argumento obrigatório, indicando a expressão a ser avaliada antes de se tornar uma decisão;
- ValorDaExpressão1-n: argumento obrigatório, indicando um ou mais valores possíveis para Expressão. Se expressão for igual a ValorDaExpressão1-n, as instruções que seguem a cláusula Case serão executadas;
- Intruções1-n: lista de comandos a serem executados no caso de Expressão = ValorDaExpressão;
- Case Else: argumento opcional, indica a cláusula a ser executada quando Expressão é diferente de qualquer um dos valores contidos nas cláusulas Case anteriores;
- End Select: argumento obrigatório, indica o fim da instrução Select Case.
As seguintes considerações são válidas para a instrução
Select Case:
- Select Case permite avaliar uma única vez uma expressão e executar uma série de comandos, dependendo do valor que a expressão tomou. Ela é muito mais eficiente que uma instrução If...Then...ElseIf...Else, que exige efetuar novamente o teste para Expressão a cada cláusula ElseIf;
- Uma vez que o valor de Expressão tenha sido avaliado e seja igual a um dos valores contidos nas diversas cláusulas Case ValorDaExpressão, as instruções daquela cláusula serão executadas;
- Após as instruções da primeira cláusula Case equivalentes a Expressão de uma instrução Select Case tiverem sido executadas, todas as demais cláusulas serão ignoradas (mesmo aquelas cujo valor sejam iguais ou equivalentes à Expressão), e o controle do fluxo de código continuará após a instrução End Select;
- Opcionalmente, você pode fornecer uma cláusula Else (recomendável) para ser executada, sempre que Expressão for diferente dos diversos valores empregados nas cláusulas Case anteriores. Esta abordagem permite que o seu programa responda a valores inesperados de Expressão, os quais são sempre possíveis de ocorrer durante a execução de um programa;
- Você pode avaliar múltiplas expressões em uma única cláusula Case. Por exemplo, supondo que Expressão retorne um valor numérico, como a idade de um cliente, você poderia avaliar esta idade em múltiplas faixas, como em:
Select Case
Idade
Case 18, 19, 20
- Quando Expressão se referenciar a uma faixa de valores, empregue a instrução Is:
Select Case
Idade
Case Is > 35
- Se Expressão retornar uma string, faça a comparação com strings entre aspas:
Select Case
Idade
Case “Rio de
Janeiro”,”Niteroi”
- Você pode aninhar instruções Select Case dentro de cláusulas Case, não se esquecendo de usar a instrução End Select para terminá-la, ou ocorrerá um erro de compilação.
Exemplo: O exemplo a seguir demonstra como empregar uma
instrução Select Case para retornar diferentes valores de percentual a serem
pagos para o imposto de renda em 2003, dependendo do valor da variável Salário.
Function Alíquota(Optional Redução as Single)
Select Case Salário
Case < 1058.01
Alíquota
= 0
Case >= 1058.01 and < 2115.01
Alíquota = 0.15
Redução =
158.70
Case >
2115.01 <= 12696
Alíquota
= 0.275
Redução =
423.08
Case Else
Alíquota
= 0.3
End Select
End Function
Até a Próxima!!
Nenhum comentário:
Postar um comentário