万物之父和装箱拆箱

万物之父的基本概念

关键字 object

object 是所有类型的基类

可以利用里氏替换原则,用 object 容器装所有对象

可以用来表示不确定类型,作为函数的参数类型


obejct的使用

//引用类型
object o = new Son();
Son s = new Son();
o = s;
//用object装载之后,用is和as判断和转换
if(o is Son)
{
    (o as Son).Speak();
}
//值类型
object o2 = 1;
//值类型要使用时要进行强转
int i = (int)o2;
//string类型
object str = "robot";
// string str2 = str as string;
string str2 = str.ToString();
//数组类型
object arr = new int[];
//int ar = (int[]) arr;
int[] ar = arr as int[];

装箱拆箱

obejct 存值类型时称为装箱

object 转为值类型称为拆箱

装箱会把值类型用引用类型存储,栈内存会迁移到堆内存中

拆箱会把引用类型存储的值类型取出来,堆内存会迁移到栈内存中

不确定类型时方便参数的存储和传递,但是存在内存迁移增加性能消耗

posted @   cannedmint  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示