Dicas para utilização da instrução SELECT CASE:
Da primeira forma, colocamos a variável a ser comparada (neste caso o "i") na linha inicial. Quando quiser comparar mais de um valor na mesma linha, utilize vírgula ","
Select Case i
Case 1, 2, 3, 4
Response.Write("Caso A")
Case 5
Response.Write("Caso B")
Case Else
Response.Write("Caso C")
End Select
Também vale para strings:
Select Case i
Case "a", "b", "c", "d"
Response.Write("Caso 1")
Case "e"
Response.Write("Caso 2")
Case Else
Response.Write("Caso 3")
End Select
Nossa segunda forma de utilizar o SELECT CASE é colocando valor na primeira linha e os operadores nos casos (CASE).
Select Case True
Case i > 500 or i < 1000
Response.Write("Caso X")
Case i > 1000 or i < 1500
Response.Write("Caso Y")
End Select
Independente da forma utilizada, o importante é comparar o valor da primeira linha (SELECT CASE) com cada caso (CASE)...
Select Case 10
Case 1 + 5
Response.Write("Caso A")
Case 5 + 5
Response.Write("Caso B")
Case Else
Response.Write("Caso C")
End Select
Como o SELECT CASE é utilizado sempre para enxugar um código com muitos IFs, vale a seguinte dica:
Utilize dois-pontos ":") para colocar o código na mesma linha dentro de cada CASE (Não abuse, use o bom senso para não deixar o código ilegível para o próximo programador).
Select Case 10
Case 1 + 5 : Response.Write("Caso X")
Case 5 + 5 : Response.Write("Caso Y")
Case Else : Response.Write("Caso Z")
End Select
As seguintes formas de SELECT CASE SÓ FUNCIONAM no VB.NET, ocorrendo ERRO DE SINTAXE quando alguém tenta usar no ASP Classic
Select Case i
Case Is > 10
Response.Write("Caso A")
Case Is < 10
Response.Write("Caso B")
Case Is = 10
Response.Write("Caso C")
End Select
Select Case i
Case 1 To 10
Response.Write("Caso A")
Case 11 To 20
Response.Write("Caso B")
Case 21 To 30
Response.Write("Caso C")
Case Else
Response.Write("Caso D")
End Select