3 つの変数に同じ値を代入したい場合、以下のように書く。
i = j = k = 5;
これは、以下のように書くよりも、いろいろな点で優れていると思う。
i = 5;
j = 5;
k = 5;
しかし、以下のように書くことはできない。
var i == j == k;
if (i == j == k) Console.WriteLine("コンパイルエラーになるよー");
理由は簡単で、最初の i == j の演算結果が true という bool 型になるため、その後の int 型の k とは比較できないためだ。
できないのは不便だが理由が納得できれば諦めもつく
ということですな。