Okresowo zastanawiam się nad tym:
Zwarcie OR zawsze zwróci tę samą wartość, co operator OR nieobwarty?
Oczekuję, że OR zwarcia zawsze będzie oceniać szybciej. Czy więc operator OR nieobwarty obwód został uwzględniony w języku C # dla zachowania spójności?
Czego mi brakowało?
f()
powstaje wyjątek, rozważ true || f()
i true | f()
. Czy widzisz różnicę? Pierwsze wyrażenie oznacza true
, a ocena drugiego powoduje zgłoszenie wyjątku.