<C#Learn/>
C#基礎 レッスン3

データ型

値型と参照型の違い、C#の型システムの概要を理解しましょう。

値型 vs 参照型

C#のすべての型は値型(Value Type)参照型(Reference Type)のどちらかです。

値型(Value Type)

変数が値そのものを保持します。スタックに格納されます。

  • int, long, short, byte
  • float, double, decimal
  • bool, char
  • struct, enum

参照型(Reference Type)

変数がオブジェクトへの参照(アドレス)を保持します。ヒープに格納されます。

  • string
  • class
  • 配列(int[]など)
  • interface, delegate

値型の代入(コピー)

値型を別の変数に代入すると、値がコピーされます。元の変数に影響しません。

C#エディタ

参照型の代入(参照の共有)

参照型を別の変数に代入すると、同じオブジェクトを参照します。

C#エディタ