Na atividade de item 7, na aula 04 do curso VB.NET com Windows Forms Parte 11: Trabalhando com banco de dados, temos a seguinte questão:
Veja a condição a seguir:
Dim X as Integer = 1
Dim Y as Integer = 0
If X = 1 AndAlso X > Y Then
O que vai acontecer no compilador do VB .NET quando ele testar esta condição?
A resposta marcada como correta é a seguinte:
Vai testar a primeira condição (X = 1), verá que ela é falsa e como estamos em um AndAlso, ele determina que a expressão é falsa.
Alternativa correta! Com AndAlso, se a primeira condição é falsa, o VB .NET nem faz o segundo teste.
Não sei se eu não estou conseguindo entender corretamente, mas neste caso o compilador não iria testar a primeira condição (x=1), ver que é VERDADEIRA, verificar a segunda condição (X>Y) e determinar que a expressão é VERDADEIRA?
No caso para dar mais sentido ao exemplo do uso do ANDALSO a resposta correta não deveria ser algo como:
Veja a condição a seguir: Dim X as Integer = 1 Dim Y as Integer = 0 If X < Y AndAlso X = 1 Then O que vai acontecer no compilador do VB .NET quando ele testar esta condição?
Vai testar a primeira condição (X < Y), verá que ela é falsa e como estamos em um AndAlso, ele determina que a expressão é falsa. Alternativa correta! Com AndAlso, se a primeira condição é falsa, o VB .NET nem faz o segundo teste.