値型のクラス C# 言語(より正確には .NET の共通言語仕様)は、「構造体」という概念を持ちます C/C++ 言語を習得している方は、すでに構造体は馴染み深いものでしょう C++ 言語の構造体はデフォルトのアクセスレベルが異なるという点以外で「クラス」と同義でした しかし、C# 言語において構造体はクラスと大きく異なる部分があります .NET アプリケーションのクラスのインスタンスは必ずヒープに割り当てられました 構造体は、これに対してスタックに配置される、すなわち値型という形をとります 構造体を用いれば、クラスとは異なりオブジェクトを配置するオーバーヘッドはなくなります 値型であるということ以外は、基本的にクラスと同じ扱いをすることが可能です 構造体の宣言には struct キーワードと次の構文を用います [attributes] [modifiers] struct identif