C ++, в отличие от C #, позволяет обрабатывать целочисленное значение, как если бы оно было логическим значением, ad-hoc, где любое целое число 0
является ложным, а любое целое число, отличное от 0
, является истинным.C # не допускает этого.
Чтобы добиться того же эффекта в C #, вы должны явно выполнить только что описанную проверку, поэтому вместо
if( (expr) || ... ) { }
вы хотите
if( (expr) != 0 || ... ) { }
И фактически последнее все еще совершенно приемлемо (и иногда поощряется для ясности) в C ++.