Ir ao conteúdo
  • Cadastre-se

VB.NET VB2010: Operadores Booleanos: qual é a diferença entre 'And' e 'AndAlso'?


Posts recomendados

eu tive the usar o 'AndAlso', mas nao entendo o motivo :(

If rectPlayer.IntersectsWith(sprWall1.Bounds) = False AndAlso rectPlayer.IntersectsWith(sprWall2.Bounds) = False AndAlso rectPlayer.IntersectsWith(sprWall3.Bounds) = False AndAlso rectPlayer.IntersectsWith(sprWall4.Bounds) = False AndAlso rectPlayer.IntersectsWith(sprWall5.Bounds) = False Then

se eu usasse o 'And', nao iria funcionar.. alguem me pode explicar por favor?

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois...

Sim iria funcionar, só que usando ANDALSO se uma condição falha as outras não são verificadas. Usando AND todas são verificadas. Em resumo, usando ANDALSO você ganha em performance e evita erros ao verificar objetos vazios, nulos ou inexistentes. Veja o exemplo:

 


 Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

 

    Dim VETOR As String() = {}

 

    'A primeira condição falha, a segunda não é verificada e a execução do programa segue normalmente
    If VETOR.Length <> 0 AndAlso VETOR(0) = "x" Then
    End If

 

    'A primeira condição falha, a segunda é verificada e ocorre o erro, pois não existe o elemento índice '0' no vetor
    If VETOR.Length <> 0 And VETOR(0) = "x" Then

 

    End If

 

  End Sub

Aplique o mesmo raciocínio para 'OR' e 'ORELSE'


Se lhe ajudou, marque como útil/resposta.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...