このタイプのステートメントに出くわしたことはありません。その機能について誰か教えてください。
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
返し、それが に設定されます。CardForm
Form
与えられForm
た 、CardForm
およびMainForm
は実際には変数ですが、命名規則によりキャメルケースにすることをお勧めします。
演算子は=
推移的に使用できるため、このステートメントは次と同等です (大まかに言えば、詳細についてはhttps://stackoverflow.com/a/15931435/17713とコメントを参照してください!):
CardForm = MainForm;
Form = MainForm;
=
は正しい操作(割り当て順序)であることに注意してください。
=
C# ではオーバーロードできません。したがって、これは割り当てである必要があり、この行にはデスクトップ アプリケーション固有の側面はありません。