15

C# に関する本を読んでいると、あるデータ型 (int、double など) の値型とプリミティブ型が言及されることがあることに気付きました。同じものだと思っていたのですが、本当に同じものなのですか?

値型とプリミティブ型の違いは何ですか? それらは同じものですか?

編集

質問は C# プログラミング言語に関連するだけでなく、他の言語でもどのように異なるのか疑問に思っていました。

4

3 に答える 3

8

プリミティブ型 (例: ) は、ベース クラス ライブラリ (BCL) 型 (例: )intに直接マップできます。System.Int32

値型System.ValueTypeは (他のプロパティの中でも) から継承され、値によって渡されます。

object( System.Object) はプリミティブ型ですが値型ではなく、構造体は値型ですがプリミティブではないため、それらは交換可能ではありません。

その他の違いはこちら

于 2012-10-01T20:12:18.463 に答える
6

値の型は通常、 Stack に存在する型です。

プリミティブ型は、プログラミング言語レベルで定義された型であり、多くの場合、言語のコンパイラによって直接サポートされる値型です。

ただし、これは一般的な回答の要約です。各プログラミング言語には、2 つのタイプの違いのセットが異なるためです ...

于 2012-10-01T20:10:20.397 に答える
-1

いいえそうではありません。値型がコピーされ、参照型が参照されています。画像を見る値と参照

私の間違いを編集します。違いのチュートリアルは次のとおりです 。 http://www.codeproject.com/Articles/11212/Primitive-Reference-and-Value-Types

于 2012-10-01T20:10:10.577 に答える