Periodicamente, mi chiedo questo:
L'OR di cortocircuito restituirebbe sempre lo stesso valore dell'operatore OR non cortocircuitato?
Mi aspetto che il corto circuito O valuterà sempre più rapidamente. Quindi, l'operatore OR non cortocircuitato è stato incluso nel linguaggio C # per coerenza?
Cosa mi sono perso?
f()
sollevi un'eccezione, considera true || f()
e true | f()
. Vedi la differenza? La prima espressione valuta true
, la valutazione di quest'ultima si traduce in un'eccezione generata.