C#に|| =または&& =演算子がないのはなぜですか?
-
27-10-2019 - |
質問
すべての論理演算子、シフト演算子、添加剤演算子、およびすべての乗数演算子に同等の割り当て演算子があります。
なぜ論理演算子が取り残されたのですか?それが難しい理由は良い技術的理由がありますか?
解決
なぜ論理演算子が取り残されたのですか?それが難しい理由は良い技術的理由がありますか?
彼らはしませんでした. 。できるよ &=
また |=
また ^=
お望みならば。
bool b1 = false;
bool b2 = true;
b1 |= b2; // means b1 = b1 | b2
||
と &&
率直に言って、それらは少しばかげているため、オペレーターには複合形態がありません。どのような状況下で言いたいですか
b1 ||= b2;
b1 &&= b2;
左側が変わらない場合、右側が評価されないように?実際にこの機能を実際に使用するのは数人しかないようですが、なぜそれを入れるのですか?
化合物演算子の詳細については、こちらをご覧ください。
http://blogs.msdn.com/b/ericlippert/archive/2011/03/29/compound-assignment-part-one.aspx
そして、フォローアップの4月撮影の記事はこちら:
http://blogs.msdn.com/b/ericlippert/archive/2011/04/01/compound-assignment-part-two.aspx
他のヒント
たぶん使用してください
isAdmin = isAdmin || IsGroupAdmin()
部分的にだと思います a ||= b
実装には2つのバージョンがある可能性があるため、混乱しています。 a = a || b
, 、 また a = b || a
. 。そして、式の右側が評価されないことがあるため、それらは異なって行動します。
所属していません StackOverflow