|
|
|
|
|
Dicas
|
|
Visual Basic.Net (Miscelâneas)
|
|
|
Título da Dica: Utilizando Short Circuit no VB.NET
|
|
|
|
Postada em 6/10/2003 por ~Ð@®£@Ñ
Short Circuit é o nome que se dá a capacidade de examinar apenas parcialmente uma expressão lógica para determinar se a expressão é verdadeira ou falsa.
Por exemplo, expressões com AND são falsas se a primeira sentença for falsa. Neste caso não seria necessário examinar a 2a sentença.
Já expressões com OR são verdadeiras se a primeira sentença for verdadeira, mais uma vez não seria necessário examinar a 2a sentença.
O fato do VB não possuir short circuit causa não apenas problemas de lógica mas também problemas de performance mas também problemas de lógica. Veja esse exemplo :
if not rs.eof and rs.fields("umcampo").value =2 then
Este é um exemplo no qual a falta do short circuit gera problemas. Se houvesse short circuit no VB bastaria avaliar a 1a expressão e, sendo ela falsa (ou seja, se o recordset estivesse no eof) não avaliaria a 2a.
Mas como VB não tem short circuit a 2a expressão será também avaliada e isso irá gerar um erro, pois não se pode acessar um valor de um campo quando estamos no EOF.
Mas o VB.NET resolveu o problema : O VB.NET implementa 2 novos operadores lógicos, ANDALSO e ORELSE que realizam o short circuit. Assim sendo, se ao invés de AND e OR utilizarmos ANDALSO e ORELSE teremos short circuit no VB.NET
|
|
|
|
|