C#でint、boolなどのnull不可の値型を作成する方法は?
3 に答える
はい、これらは と呼ばれstruct
ます。
int
構造体は、などと同様に値型bool
です。
それらには、関連するいくつかのルール/推奨事項があります: (これらが最も重要だと思います)
ref または out キーワードを使用しない場合、構造体は値によって渡され、割り当てられます...これは、メソッドに割り当てまたは渡すときに、構造体の内部に配置したすべてがコピーされることを意味します。そのため、大きな構造体を作成しないでください。
C# で構造体のパラメーターなしのコンストラクターを定義することはできません
構造体は不変である方がよく、プロパティ セッターがありません。変更可能な構造体を作成すると、実際の問題が発生する可能性があります。
その他の規則は、構造体に関する Microsoft ドキュメント内にあります。
null 非許容参照型については、これは不可能です。コード内の null を手動で確認する必要があります。
structを定義できます:
構造体型は、通常、長方形の座標や在庫内のアイテムの特性など、関連する変数の小さなグループをカプセル化するために使用される値型です。次の例は、単純な構造体宣言を示しています。
public struct Book { public decimal price; public string title; public string author; }
int
ただし、 for のようなエイリアスを定義することはできず、構造体をSystem.Int32
完全な名前でMyNamespace.Book
(またはBook
でusing MyNamespace;
) 参照する必要があります。