天天看点

.Net中的装箱拆箱

说到装箱与拆箱,那就要简要的概括下什么是装箱拆箱,

装箱:其实就是把值类型转换为引用类型。

拆箱:其实就是把引用类型转换为值类型。

值类型:一般来说包括   int  char bool double datetime等等这些,值类型存放在栈里面

引用类型:引用类型包括  object  class  Interface Delegate  string arry  dynamic,引用类型是存放在堆里的,占用的内存地址一般是连续的。

//装箱就是把值类型转换为引用类型

            int i = 12;

            object obj = i;

            //拆箱就是把引用类型转换为值类型

            i = (int) obj;

            //装箱与拆箱是比较消耗性能的,能避免的尽量避免发生这样的行为。

            string str3 = "123";

            int i4 = 4;

            Console.WriteLine(str3+i4);//这种装箱行为会影响效率,如何避免的,下面的方法

            Console.WriteLine(str3+i4.ToString());//这是一种方法,可以提高点效率。

            Console.ReadKey();

欢迎加入.net技术交流群
.Net中的装箱拆箱