C# Language Operatori di cortocircuito

Esempio

Per definizione, gli operatori booleani di cortocircuito valuteranno solo il secondo operando se il primo operando non è in grado di determinare il risultato complessivo dell'espressione.

Significa che, se si utilizza && operator come firstCondition e& secondCondition , verrà valutata secondCondition solo quando firstCondition è true e ofcource il risultato complessivo sarà true solo se entrambi di firstOperand e secondOperand vengono valutati su true. Questo è utile in molti scenari, ad esempio immagina di voler controllare mentre il tuo elenco ha più di tre elementi ma devi anche controllare se l'elenco è stato inizializzato per non essere eseguito in NullReferenceException . Puoi ottenerlo come di seguito:

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

mList.Count> 3 non verrà controllato fino a myList! = null è soddisfatto.

AND logico

&& è la controparte in cortocircuito dell'operatore AND ( & ) standard booleano.

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).

OR logico

|| è la controparte in cortocircuito dell'operatore standard 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).

Esempio di utilizzo

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