por Deni Marinho

Select Case em VBScript (Classic ASP)

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 

 

 

Comentários

Carregando comentários

Postar um novo comentário



Processando...