blogger

JackS·Zhao

人生就像开车在路上走,你我只是其中的一个驾驶员。送走老的、迎来小的,匆匆看过路边风景。一直向前行驶,却不知道是谁修的这条路。
基础词汇

时间: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

C#
int i = 123; object o = i; // Boxing int j = (int)o; // Unboxing 

将值类型的值分配给 object 对象引用时,会分配一个“箱”来保存此值。 该箱是引用类型的实例,此值会被复制到该箱。 相反,当 object 引用被显式转换成值类型时,将检查引用的 object 是否是具有正确值类型的箱。 如果检查成功,则会将箱中的值复制到值类型。

C# 的统一类型系统实际上意味着“按需”将值类型视为 object 引用。 鉴于这种统一性,使用类型 object 的常规用途库可以与派生自 object 的所有类型结合使用,包括引用类型和值类型。


标签: 入门级基础