[C#基础学习]万物之父Object和装箱拆箱

发布时间 2023-07-07 00:36:21作者: ComputerEngine

万物之父:Object

​ 是所有类型的基类,可以利用里氏替换原则来装所有对象。同时可以表示不确定类型,并且可以传参。

​ Object可以等于任何类型,如果需要详细调用和计算Object类型,考虑使用is和as进行详细判断。

​ 如果需要其他值获取object的内容,需要强转

object o =1f;
float f = (float) o;

object可以直接用两种方式转换为string

object o = "aaa";
string a = o.ToString();
string b = o as string;

装箱拆箱

​ 用Object存值的时候就称为\(\color{red}{装箱}\),进行装箱的时候会把值从\(\color{blue}栈\)内存转移到\(\color{green}堆\)内存中。将object类型转换为其他类型的操作就称为\(\color{red}{拆箱}\),进行拆箱的时候会把值从\(\color{green}堆\)内存转移到\(\color{blue}{栈}\)内存中。

​ 优点:可以在不确定类型的时候直接传值
​ 缺点:CPU开转。