浅谈C#装箱与拆箱

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

先了解以下几个概念:

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

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

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

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

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

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

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

猜你喜欢

转载自blog.csdn.net/yytIcon/article/details/81453168