¿C# no dispone del equivalente a andalso y orelse?
Si:
Acabo de ver: los OR y los AND, en el momento que uno sea true o que uno sea false (respectivamente), ya no se evalúa nada más.
*Visual Basic*
Eso no es correcto, ocurre todo lo contratio a lo que has comentado,
para simular un
OrElse y/o
AndAlso en VB6 habría que agrupar expresiones:
(<Boolean Value 1> Or <Boolean Value 2>) And <Boolean Value 3>
Porfavor vuelvan a leer el comentario del compañero
ABDERRAMAH sobre estos operadores.
Voy a poner un ejemplo para dejarlo todavía más claro si cabe sobre And y AndAlso en VB.NET:
Private str As String = Nothing
' Esto dará una excepción de referencia a objeto no establecida,
' Porque la segunda expresión se evalua de todas formas,
' y esta intentará leer la longitud de un objeto que es NADA.
If str IsNot Nothing And str.Length <> 0 Then
' Blah blah blah
End If
' Esto no dará ningún tipo de excepción,
' Porque la segunda expresión no se evaluará si la primera no se cumple.
If str IsNot Nothing AndAlso str.Length <> 0 Then
' Blah blah blah
End If
Saludos