【发布时间】:2010-09-30 23:24:44
【问题描述】:
请帮助我们解决“几乎”一切都是对象的争议 (an answer to Stack Overflow question As a novice, is there anything I should beware of before learning C#?)。我认为情况就是这样,因为 Visual Studio 中的所有内容至少都以结构的形式出现。请发布参考,以免它成为“现代蠢货”(This American Life)。
请注意,这个问题指的是 C#,不一定是 .NET,以及它如何处理后台数据(显然都是 1 和 0)。
这里是“一切都是对象”的cmets:
- 呃,不,不是。 – 二元忧
- 我想要一个例子... – scotty2012
- 并非一切都源自 基本类型对象? – 细雨
- 大多数事物都是对象... – Omar Kooheji
- 值类型、整数、双精度、对象 引用(不是他们的对象 自我)等不是对象。他们能 被“装箱”以看起来像对象(例如 i.ToString()) 但实际上他们是 原始类型。将条目更改为 “几乎一切都是对象”和 我将删除反对票 – 二进制 担心
- 感谢您的澄清。一世 想想你能做到的最低水平 与 C# 中的 int 交互是 作为一个结构,它不是一个对象? - http://msdn.microsoft.com/en-us/library/ms173109.aspx – 细雨
- Int32 不继承自 ValueType 哪个继承自对象?如果是这样的话, 尽管有这种行为,但 int 是 目的。 ——克里斯·法默
- 不,int 的盒装类型继承 来自 ValueType,它继承自 目的。它们不是对象 传统意义上,因为 a) 一个 int 不是对 int 的引用,它是 诠释。 b) 整数不是垃圾 集。如果你声明一个 Int32, 那么 int 是 4 个字节 堆栈,故事的结尾——二元烦恼
对象的定义:“Object”作为 System.Object 类的继承者,“object”作为类型的实例,“object”作为引用类型。”
【问题讨论】:
-
@annakata:除非有明确的答案。圣战没有明确的答案。
-
呲牙咧嘴!我正要发布这个问题,看看社区怎么说。附:在选择答案之前,我会等着看 Jon Skeet 或 Marc Gravell 说了什么。
-
大声笑 - 在辩论中一方是对的,另一方是错的,在圣战中则相反
-
在继续讨论之前,需要澄清一下“对象”的预期定义。
-
@Binary: Object 类派生自 jon skeet? :)