「ほぼ」すべてがオブジェクトであるという論争を解決するのを手伝ってください(スタック オーバーフローの質問への回答初心者として、C# を学ぶ前に注意すべきことはありますか? )。Visual Studio のすべてが少なくとも構造体として表示されるため、これが当てはまると思いました。「現代ジャッカス」( This American Life )にならないように参考に投稿してください。
この質問は、必ずしも .NET ではなく C# に関するものであり、内部でデータを処理する方法 (明らかに、すべて 1 と 0 です) に関するものであることに注意してください。
「すべてがオブジェクトである」に対するコメントは次のとおりです。
- いえいえ、違います。– バイナリウォリアー
- 例が欲しい... – scotty2012
- すべてが基本型 Object から派生したものではないですか? – リズル
- ほとんどのものはオブジェクトです... – Omar Kooheji
- 値型、int、double、オブジェクト参照 (オブジェクト自体ではない) などはオブジェクトではありません。オブジェクトのように「ボックス化」することもできます (egiToString()) が、実際にはプリミティブ型です。エントリを「ほぼすべてがオブジェクトである」に変更し、反対票を削除します – Binary Worrier
- 明確にしていただきありがとうございます。C# で対話できる最も低いレベル、たとえば int は、オブジェクトではない構造体であると思いますか? - http://msdn.microsoft.com/en-us/library/ms173109.aspx - リズル
- Int32 は Object を継承する ValueType を継承していませんか? その場合、動作にかかわらず、int はオブジェクトです。– クリス・ファーマー
- いいえ、int のボックス化された型は、Object を継承する ValueType を継承します。a) int は int への参照ではなく、それは int であるため、従来の意味でのオブジェクトではありません。b) int はガベージ コレクションされません。Int32 を宣言すると、その int はスタック上で 4 バイトになります。話の終わり – Binary Worrier
オブジェクトの定義: クラス System.Object の継承者としての「オブジェクト」 vs. 型のインスタンスとしての「オブジェクト」 vs. 参照型としての「オブジェクト」。