C# 数据类型

邮差的信 提交于 2020-01-02 08:09:13

                                       类型分类

                                      类型归属

                                                      内存分配

内存:

分配:

                         值类型与引用类型

                                            装箱拆箱

装箱:是将值类型转换成引用类型。

拆箱:是将引用类型转换成值类型,只有装箱过的对象才能拆箱。

 

为何需要装箱?(为何要将值类型转为引用类型?) 

          一种最普通的场景是,调用一个含类型为Object的参数的方法,该Object可支持任意类型,以便通用。当你需要将一个值类型(如Int32)传入时,需要装箱。 另一种用法是,一个非泛型的容器,同样是为了保证通用,而将元素类型定义为Object。于是,要将值类型数据加入容器时,需要装箱。

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

 

 

 

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!