0

このタイプのステートメントに出くわしたことはありません。その機能について誰か教えてください。

Form = CardForm = MainForm;

これはデスクトップ アプリです (デスクトップ アプリ全般は初めてです)。

ありがとう

4

4 に答える 4

2

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ます。

CardCardFormおよびの型がわからないためMainForm、コードが何を行うかを正確に伝えることはできません。型は暗黙的な変換を定義でき、オーバーライドされた代入演算子は (もちろんその型の) と思われる任意の値を返すことができるためです。 )。

表現:

CardForm = MainForm

最終的に に割り当てられるものの論理値CardFormを持ちます。ほとんどCardFormの場合、 は の値に設定され、その式自体が の新しい値をMainForm返し、それが に設定されます。CardFormForm

于 2013-04-10T16:30:18.120 に答える
1

与えられFormた 、CardFormおよびMainFormは実際には変数ですが、命名規則によりキャメルケースにすることをお勧めします。

演算子は=推移的に使用できるため、このステートメントは次と同等です (大まかに言えば、詳細についてはhttps://stackoverflow.com/a/15931435/17713とコメントを参照してください!):

CardForm = MainForm;
Form = MainForm;

=正しい操作(割り当て順序)であることに注意してください。

=C# ではオーバーロードできません。したがって、これは割り当てである必要があり、この行にはデスクトップ アプリケーション固有の側面はありません。

参照: http://msdn.microsoft.com/en-us/library/sbkb459w.aspx

于 2013-04-10T16:30:41.453 に答える