CTSとは

共通型システム Common Type Systsem

 

プログラム言語に依存しない言語共通のデータ型
提供する為の仕組み

中間言語 ( MSIL ) ならびに共通言語ランタイム ( CLR ) の中核となる機能。

C# のデータ型もこの共通型システムを基盤としている。

 

 

スタックメモリ と ヒープメモリ

プログラム実行時にデータの実体は、メモリ空間にある。
共通言語ランタイム( CLR ) は、スタックメモリヒープメモリという
メモリ空間のいずれかに配置される。
heap:たくさん、どっさり

スタックメモリ
呼び出し機構として用意される。
LIFO。( 最初に入れたものを最後に取り出す。)

ヒープメモリ
プロセスが存在する間必要となるデータメモリ。

 

値型 と 参照型

CTS のデータ型は値型参照型に分類される。

値   :数値型、文字型、構造体
参照:文字列型、配列型、クラスなど。

値型のデータの実体は、スタックメモリ
参照型のデータの実体は、ヒープメモリ

配列クラスなどの参照型要素として存在する値型( int 型の配列など )は、
参照型データの実体があるヒープに格納される。

 

以上。