万物之父: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开转。