Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
86
Assunto : Visual Basic
Titulo: Utilizando Select Case para realizar Short Circuit

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon


Short Circuit é o nome que se dá a avaliação parcial de uma expressão boleana.

Por exemplo :

6 > 5 OU 4>3

Usando Short Circuit essa expressão não precisaria ser avaliada por inteiro, pois ao descobrir que 6>5 ela já seria considerada verdadeira pois o operador utilizado é OU.

Com pequenas expressões isso não faz diferença, mas observe que cada parte da expressão poderia ser uma chamada de função que envolvesse até pesquisa em banco, assim sendo, poder evitar a avaliação de uma ou duas expressões pode ser bem vantajoso para performance.

O problema é que o VB não possui Short Circuit. Expressões utilizadas na instrução IF são avaliadas por inteiro, o que pode gerar problemas de performance.

Para resolver isso podemos criar o Short Circuit com uma utilização um pouco diferente da instrução Select Case. Veja :

' If x > 0 And y <= 0 And z = 0 Then DoIt
Select Case False
Case x > 0, y <= 0, z = 0
Case Else
Call DoIt
End Select

Esse exemplo simula um short circuit com AND. Busca-se um resultado False. Se for encontrado, o Select Case irá parar na primeira opção e nada será feito. Se a primeira expressão for False as duas seguintes não serão testadas (o Select case, por incrível que pareça, tem short circuit). Caso nenhuma seja False a operação poderá ser feita, gerando o efeito do short circuit.

Veja agora o Short Circuit com OR :

Select Case True
Case x > 0, y <= 0, z = 0
Call DoIt
End Select

Se uma das expressões for verdadeira ele já realiza a tarefa, não avaliando as outras.

Ao utilizar esse método deve-se organizar as expressões da esquerda para a direita em ordem da mais simples para a mais complexa, desta forma gerando melhor performance.

Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br