以下の内容はhttps://lipoyang.hatenablog.com/entry/2026/01/28/194834より取得しました。


C#のclassとstructの挙動の違い

classは参照型だけどstructは値型だということに注意。classはnewしないと実体が無いが、structはnewなしで実体を持つ。代入すると、classでは参照がコピーされるので同一の実体を指すが、structでは値がコピーされるので別々の実体となる。

using System;

class Hoge
{
    public int x;
}
struct Piyo
{
    public int x;
}

class Program
{
    public static void Main(string[] args)
    {
        Hoge a = new Hoge();
        Piyo b;
        a.x = 100;
        b.x = 200;
        Hoge c = a;
        Piyo d = b;
        c.x = 300;
        d.x = 400;
        Console.WriteLine($"a.x={a.x}");
        Console.WriteLine($"b.x={b.x}");
        Console.WriteLine($"c.x={c.x}");
        Console.WriteLine($"d.x={d.x}");
    }
}

実行結果

a.x=300
b.x=200
c.x=300
d.x=400



以上の内容はhttps://lipoyang.hatenablog.com/entry/2026/01/28/194834より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14