[C#] 論理演算

CやC++からなくなっているものは、カンマ演算子。
シフト演算
右シフトは算術シフト。つまり、右にシフトして空いた上位ビットは符号ビットがコピーされる。
&と&&
Cと違って&はbooleanには論理演算として使える。
整数に対してはbit演算となるのはCと同じ。
&&は、C言語と意味は同じで、分類が変わっていてconditional operatorと呼ばれている。
つまり、

int A = 1;
int B = 1;
のとき
A == 0 && B != 3    // 右側は評価しない
A == 0 & B != 3     // 左から右に全部評価する

また、論理演算はbooleanに対してだけ定義されているので

A & B != 3

とは書けない。これはbooleanと整数の混在に対して演算が定義されていないから。

広告
%d人のブロガーが「いいね」をつけました。