时间:2021-8-17 作者:JackS·Zhao 分类: 编程
object 这个词很多人都认识。但是,但是能够理解它的不多。
Object (对象) /也常有人说是对象编辑,反正给我解释的人很多,众说纷纭。/
有人会说,就这个我早就知道它的作用了。你还哪里说,我想说“小伙子别拿中年人不当人,我记忆力真的不行了!”
也有一些和我一样上了岁数的编程初学者问我,我们这么大岁数了,学不来这些东西了。也有一些人问我应该从哪里开始学。
我的意见是通过官方的docs文档一步一步去学习。有人说全是英文的,那是应为你没有打开中文的。
官方中文C#文档地址https://docs.microsoft.com/zh-cn/dotnet/csharp/
好我们接着看官方是如何解释Object这个词语的。
C# 采用统一的类型系统,因此任意类型的值都可视为 object
。 每种 C# 类型都直接或间接地派生自 object
类类型,而 object
是所有类型的最终基类。 只需将值视为类型 object
,即可将引用类型的值视为对象。 通过执行 装箱 和 取消装箱操作,可以将值类型的值视为对象。 在以下示例中,int
值被转换成 object
,然后又恢复成 int
。
int i = 123; object o = i; // Boxing int j = (int)o; // Unboxing
将值类型的值分配给 object
对象引用时,会分配一个“箱”来保存此值。 该箱是引用类型的实例,此值会被复制到该箱。 相反,当 object
引用被显式转换成值类型时,将检查引用的 object
是否是具有正确值类型的箱。 如果检查成功,则会将箱中的值复制到值类型。
C# 的统一类型系统实际上意味着“按需”将值类型视为 object
引用。 鉴于这种统一性,使用类型 object
的常规用途库可以与派生自 object
的所有类型结合使用,包括引用类型和值类型。
标签: 入门级基础