2010-12-17 19 views
2

構造体について最初に学んだときにそれらを使用する方法を学んだので、クラス内でネストされた構造体を宣言する習慣を身に付けました。C#でネストされた構造体が良いか悪いか

構造体がC#のクラスに似ている場合は、構造体を別のファイルで宣言して別のクラスにネストしてはいけませんか?

答えて

2

ネストされた構造体とネストされたクラスは、ネストされた構造体/クラスが構造体/クラスのメンバプロパティの型であるか、または使用されているかのように、外側のstruct /内部的に。

多くのネストされた構造体は警告記号であり、代わりにクラスを作成することを検討する必要があります。としてMSDN(struct)メモ。

参照型セマンティクスが必要な場合を除き、16バイトより小さいクラスは、システムによって構造体としてより効率的に処理されます。

そして、逆に、ネストされた構造体を持つ構造体が16バイトを超えて大きくなる場合は、値渡しのセマンティクスを必要としない限り、代わりにクラスの使用を検討する必要があります。

5

構造体が純粋にその1つのクラスの実装の詳細である場合、構造体をクラス内で宣言することは理にかなっています。私は構造体(とクラス!)を他のクラスの中に宣言しています。

0

です。

もし彼らが共通のテーマを共有しているのであれば、それらを適切な名前のファイルに入れるのは良い考えです。それ以外の場合は、クラスの詳細なものであれば、クラスの最後、サブクラス(存在する場合)の直前に配置します。

関連する問題