すべての論理演算子、シフト演算子、加法演算子、およびすべての乗法演算子に相当する代入演算子があります。
論理演算子が除外されたのはなぜですか? それが難しい理由は技術的な理由ですか?
すべての論理演算子、シフト演算子、加法演算子、およびすべての乗法演算子に相当する代入演算子があります。
論理演算子が除外されたのはなぜですか? それが難しい理由は技術的な理由ですか?
論理演算子が除外されたのはなぜですか? それが難しい理由は技術的な理由ですか?
彼らはしませんでした。&=
または|=
または必要に応じて実行でき^=
ます。
bool b1 = false;
bool b2 = true;
b1 |= b2; // means b1 = b1 | b2
||
and&&
演算子には複合形式がありません。率直に言って、少しばかげているからです。どのような状況で言いたいのか
b1 ||= b2;
b1 &&= b2;
左辺が変化しない場合、右辺は評価されませんか? この機能を実際に使用する人はごくわずかのようですが、なぜそれを入れるのでしょうか?
複合演算子の詳細については、こちらの私の真面目な記事を参照してください:
https://docs.microsoft.com/en-us/archive/blogs/ericlippert/compound-assignment-part-one
フォローアップのエイプリルフール記事はこちら:
https://docs.microsoft.com/en-us/archive/blogs/ericlippert/compound-assignment-part-two
多分ただ使う
isAdmin = isAdmin || IsGroupAdmin()
実装a ||= b
にはa = a || b
, またはa = b || a
. また、式の右辺が評価されない場合があるため、動作が異なります。