読者です 読者をやめる 読者になる 読者になる

雑記 - otherwise

最近はDQ10しかやっていないダメ技術者がちまちまと綴る雑記帳

代入演算子の結合法則

C#

# 本日も R さんからネタを拝借。 ^^;
普段、代入演算子を結合させる書き方はまずしないのでちょっと悩みました。
……で、結局 C# 言語仕様を見てみる、と。 :p
「 7.16 代入演算子」と「 7.16.1 単純代入」に↓こんな事が書いてあります。

代入演算子結合法則は"右から左"です。つまり、演算は右から左にグループ化されます。たとえば、a = b = c という形式の式は、a = (b = c) として評価されます。

単純代入式の結果は、左オペランドに代入される値です。結果は左オペランドと同じ型で、常に同じ値として分類されます。

なので、 x.A = x.B = 0 と云う式があっても x.B の get アクセサは呼ばれない訳ですね。