【やさしく理解する】構造体(struct)は何者?
目次
1. まず安心してください
今日出てくる「構造体」は、
ほぼクラスと同じです。
いきなり難しくなったわけではありません。
2. まずはクラスで考えてみましょう
トランプのカードを表すクラスを考えます。
class Card
{
public char Suit; // マーク
public int Number; // 数字
public void Print()
{
Console.WriteLine($"{Suit} {Number}");
}
}
使い方:
var card = new Card();
card.Suit = 'H';
card.Number = 8;
card.Print();
ここまでは理解できますよね。
3. では構造体に変えてみます
struct Card
{
public char Suit;
public int Number;
public void Print()
{
Console.WriteLine($"{Suit} {Number}");
}
}
え?
違いはどこ?
👉 class が struct になっただけです。
4. 使い方も同じ
var card = new Card();
card.Suit = 'H';
card.Number = 8;
card.Print();
動きは同じです。
5. じゃあ何が違うの?
今の段階ではこう覚えてください。
| class | struct |
|---|---|
| 普通の設計図 | 軽量な設計図 |
| 参照型 | 値型 |
でも、
今はこの違いを深く理解しなくて大丈夫です。
6. どういう時に使うの?
構造体は、
- 小さいデータのかたまり
- シンプルなデータ
- データ中心で使うもの
に向いています。
例えば:
- 座標(x, y)
- 色(R, G, B)
- 日付
- トランプ1枚
7. 教科書のコードが難しく見える理由
教科書では、
public char Suit { get; private set; }
という書き方が出てきます。
これは プロパティ という機能です。
今はこう思ってください。
「外から読み取れるけど、勝手に変更できない仕組み」
今は仕組みを理解しなくてOKです。
8. 今日のまとめ
✔ struct は class とほぼ同じ
✔ 書き方も使い方もほぼ同じ
✔ 今は違いを深掘りしなくていい
✔ 小さなデータの箱に向いている
9. 大事なこと
理解とは、
100%分かることではありません。
「なんとなく使える」
これで十分です。
構造体の本当の違いは、
もう少しレベルが上がってから自然に理解できます。
訪問数 16 回, 今日の訪問数 16回



ディスカッション
コメント一覧
まだ、コメントがありません