このタイプのステートメントに出くわしたことはありません。その機能について誰か教えてください。
Form = CardForm = MainForm;
これはデスクトップ アプリです (デスクトップ アプリ全般は初めてです)。
ありがとう
C# や他の多くの言語では、変数に値を代入すると値自体が返されます。これは、式の論理値(または左辺値) と呼ばれます。
5 つの変数を設定するとします。
int a, b, c, d, e;
数字の 5 に。次のようにできます。
a = b = c = d = e = 5;
式e = 5には の値があり5、 に設定されdます。 d = 5の値があり5、 に設定されcます。 c = 5の値があり5、 に設定されbます。 b = 5の値があり5、 に設定されaます。 aに設定され5ます。
Card、CardFormおよびの型がわからないためMainForm、コードが何を行うかを正確に伝えることはできません。型は暗黙的な変換を定義でき、オーバーライドされた代入演算子は (もちろんその型の) と思われる任意の値を返すことができるためです。 )。
表現:
CardForm = MainForm
最終的に に割り当てられるものの論理値CardFormを持ちます。ほとんどCardFormの場合、 は の値に設定され、その式自体が の新しい値をMainForm返し、それが に設定されます。CardFormForm
与えられFormた 、CardFormおよびMainFormは実際には変数ですが、命名規則によりキャメルケースにすることをお勧めします。
演算子は=推移的に使用できるため、このステートメントは次と同等です (大まかに言えば、詳細についてはhttps://stackoverflow.com/a/15931435/17713とコメントを参照してください!):
CardForm = MainForm;
Form = MainForm;
=は正しい操作(割り当て順序)であることに注意してください。
=C# ではオーバーロードできません。したがって、これは割り当てである必要があり、この行にはデスクトップ アプリケーション固有の側面はありません。