C#におけるstructの使い方は何ですか。
C#において、structは関連するデータフィールドの集まりを保存するための値型データ構造です。クラスとは異なり、構造体は値型であり、参照型ではないため、それらはメモリ内に値を直接保存し、参照ではありません。
構造体は、軽量なデータオブジェクト、例えば座標や日付、時間などを表すために通常使用されます。少量のデータを保存するのに適しており、性能も高いです。なぜなら、構造体はメモリをスタック上に割り当てるため、ヒープ上ではないからです。
C#でのstructの使用法は以下の通りです:
- structを使って構造体を宣言してください。例:
- ポイント構造体は、XとYの整数値を持っています。
- 構造体のインスタンス化:構造体はnewキーワードを使用してインスタンス化することができます。例:
- ポイント point = new ポイント();
point.X = 10;
point.Y = 20; - 構造体のプロパティとメソッド:構造体にはプロパティやメソッドを持たせることができ、それはクラスのように機能します。構造体のデータを操作するためにプロパティやメソッドを定義することができます。例えば:
- 構造体Pointを作成し、XとYの2つの変数を持たせ、Moveメソッドを定義してXとYの値を移動させる。
- 構造体の受け渡し:構造体は値の型であり、メソッドに構造体をパラメータとして渡すと、値のコピーが行われます。これは、メソッド内で構造体を変更しても元の構造体の値に影響を与えないことを意味します。例:
- Pointの修正(Point point)
{
point.X = 100; // 元の構造体の値に影響を与えない
}
要简单一点说,在C#中,结构体用来存储少量的数据对象。由于它们是值类型,所以性能很高。结构体可以有属性和方法,可以直接在栈上分配内存,并且传递时会复制值。