49

C#でint、boolなどのnull不可の値型を作成する方法は?

4

3 に答える 3

58

はい、これらは と呼ばれstructます。

int構造体は、などと同様に値型boolです。

それらには、関連するいくつかのルール/推奨事項があります: (これらが最も重要だと思います)

  • ref または out キーワードを使用しない場合、構造体は値によって渡され、割り当てられます...これは、メソッドに割り当てまたは渡すときに、構造体の内部に配置したすべてがコピーされることを意味します。そのため、大きな構造体を作成しないでください。

  • C# で構造体のパラメーターなしのコンストラクターを定義することはできません

  • 構造体は不変である方がよく、プロパティ セッターがありません。変更可能な構造体を作成すると、実際の問題が発生する可能性があります。

その他の規則は、構造体に関する Microsoft ドキュメント内にあります。

null 非許容参照型については、これは不可能です。コード内の null を手動で確認する必要があります。

于 2011-06-15T23:06:28.217 に答える
14

structを定義できます:

構造体型は、通常、長方形の座標や在庫内のアイテムの特性など、関連する変数の小さなグループをカプセル化するために使用される値型です。次の例は、単純な構造体宣言を示しています。

public struct Book
{
    public decimal price;
    public string title;
    public string author;
}

intただし、 for のようなエイリアスを定義することはできず、構造体をSystem.Int32完全な名前でMyNamespace.Book(またはBookusing MyNamespace;) 参照する必要があります。

于 2011-06-15T23:06:57.683 に答える