Операторы | и & против || и &&
Обе пары операторов могут быть применены к переменным типа bool. Единственная разница – одиночные операторы не сокращают количество вычислений если результат очевиден:
bool b = false && a(); // a() not called
bool c = false & a(); // a() called
Передача null в качестве исключения
Как ни странно, передача null в качестве исключения приводит к выбросу NullReferenceException:
try {
throw null;
} catch (NullReferenceException) {
// will be caught!
}
Read more: habrahabr.ru