クラスとは異なり、 struct
は値型であり、 デフォルトではマネージヒープ上ではなくローカルスタック上に作成されます 。つまり、特定のスタックが有効範囲外になると、 struct
割り当てが解除されます。割り当てられていないstruct
のstruct
参照型も、 struct
によって参照されていないとGCが判断すると、掃引されます。
struct
sは継承することができず、継承の基礎となることもできません。暗黙的にシールprotected
います。また、 protected
メンバーを含めることもできません。しかし、クラスが行うように、 struct
はインタフェースを実装することができます。