.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();

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。