C# に関する本を読んでいると、あるデータ型 (int、double など) の値型とプリミティブ型が言及されることがあることに気付きました。同じものだと思っていたのですが、本当に同じものなのですか?
値型とプリミティブ型の違いは何ですか? それらは同じものですか?
編集
質問は C# プログラミング言語に関連するだけでなく、他の言語でもどのように異なるのか疑問に思っていました。
C# に関する本を読んでいると、あるデータ型 (int、double など) の値型とプリミティブ型が言及されることがあることに気付きました。同じものだと思っていたのですが、本当に同じものなのですか?
値型とプリミティブ型の違いは何ですか? それらは同じものですか?
編集
質問は C# プログラミング言語に関連するだけでなく、他の言語でもどのように異なるのか疑問に思っていました。
プリミティブ型 (例: ) は、ベース クラス ライブラリ (BCL) 型 (例: )int
に直接マップできます。System.Int32
値型System.ValueType
は (他のプロパティの中でも) から継承され、値によって渡されます。
object
( System.Object
) はプリミティブ型ですが値型ではなく、構造体は値型ですがプリミティブではないため、それらは交換可能ではありません。
その他の違いはこちら
値の型は通常、 Stack に存在する型です。
プリミティブ型は、プログラミング言語レベルで定義された型であり、多くの場合、言語のコンパイラによって直接サポートされる値型です。
ただし、これは一般的な回答の要約です。各プログラミング言語には、2 つのタイプの違いのセットが異なるためです ...
いいえそうではありません。値型がコピーされ、参照型が参照されています。画像を見る
私の間違いを編集します。違いのチュートリアルは次のとおりです 。 http://www.codeproject.com/Articles/11212/Primitive-Reference-and-Value-Types