【やさしく理解する】構造体(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. じゃあ何が違うの?

今の段階ではこう覚えてください。

classstruct
普通の設計図軽量な設計図
参照型値型

でも、

今はこの違いを深く理解しなくて大丈夫です。


6. どういう時に使うの?

構造体は、

  • 小さいデータのかたまり
  • シンプルなデータ
  • データ中心で使うもの

に向いています。

例えば:

  • 座標(x, y)
  • 色(R, G, B)
  • 日付
  • トランプ1枚

7. 教科書のコードが難しく見える理由

教科書では、

public char Suit { get; private set; }

という書き方が出てきます。

これは プロパティ という機能です。

今はこう思ってください。

「外から読み取れるけど、勝手に変更できない仕組み」

今は仕組みを理解しなくてOKです。


8. 今日のまとめ

✔ struct は class とほぼ同じ

✔ 書き方も使い方もほぼ同じ

✔ 今は違いを深掘りしなくていい

✔ 小さなデータの箱に向いている


9. 大事なこと

理解とは、

100%分かることではありません。

「なんとなく使える」

これで十分です。

構造体の本当の違いは、

もう少しレベルが上がってから自然に理解できます。


訪問数 16 回, 今日の訪問数 16回

C#,構造体

Posted by hidepon