浅谈C#装箱与拆箱

其实早期有了解过何为装箱,何为拆箱。但是今天在看到C#泛型的时候,说到泛型可以减少拆箱和装箱,一时之间想不起这两者的具体概念了,于是又重新学习了一遍。

先了解以下几个概念:

装箱:值类型转化为引用类型的过程。

拆箱:引用类型转化为值类型的过程。

值类型:我们常见的值类型包含:int,float,long,char,bool,enum,struct。这些是统一继承自System.valueType。

引用类型:我们常见的引用类型包括:数组,用户定义的类,接口,委托,object,字符串。

为什么要避免装箱拆箱呢?

装箱其实就是把栈上的数据放到堆上去了。而拆箱就是把堆上的数据放在栈上。在拆箱和装箱的过程中,无可避免的多了数据转换,申请内存等。从而降低了性能。所以我们要避免装箱和拆箱。

 

 

 

初次接触后端,有不足之处还望指教。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值