C# Language Operadores de cortocircuito


Ejemplo

Por definición, los operadores booleanos de cortocircuito solo evaluarán el segundo operando si el primer operando no puede determinar el resultado general de la expresión.

Significa que, si está utilizando && operator como firstCondition && secondCondition , evaluará secondCondition solo cuando firstCondition sea ​​verdadero y, por lo tanto, el resultado general será verdadero solo si tanto firstOperand como secondOperand se evalúan como verdaderos. Esto es útil en muchos escenarios, por ejemplo, imagine que desea verificar mientras que su lista tiene más de tres elementos, pero también debe verificar si la lista se ha inicializado para no ejecutarse en NullReferenceException . Puedes lograr esto de la siguiente manera:

bool hasMoreThanThreeElements = myList != null && mList.Count > 3;

mList.Count> 3 no se verificará hasta que se cumpla myList! = null.

Y lógico

&& es la contraparte de cortocircuito del operador booleano AND ( & ).

var x = true;
var y = false;

x && x // Returns true.
x && y // Returns false (y is evaluated).
y && x // Returns false (x is not evaluated).
y && y // Returns false (right y is not evaluated).

O lógico

|| es la contraparte de cortocircuito del operador booleano OR ( | ).

var x = true;
var y = false;

x || x // Returns true (right x is not evaluated).
x || y // Returns true (y is not evaluated).
y || x // Returns true (x and y are evaluated).
y || y // Returns false (y and y are evaluated).

Ejemplo de uso

if(object != null && object.Property)
// object.Property is never accessed if object is null, because of the short circuit.
    Action1();
else
    Action2();