Session

装箱拆箱

电脑版发表于:2021/5/23 13:45

前言


C#装箱是将
值类型转换为引用类型;拆箱是将引用类型转换为值类型。

只有被装过箱的对象才能被拆箱

装箱

        //利用装箱和拆箱功能,可通过允许值类型的任何值与Object 类型的值相互转换,将值类型与引用类型链接起来。例如
            //装箱
            int a = 10;
            object obj = a;

拆箱

            
            int a = 10;
            object obj = a;
            //拆箱
           int b = (int)obj;

写个代码,看看进行了几次装拆箱!
int i=0;
System.Object obj=i;
Console.WriteLine(i+","+(int)obj);

其中共发生了3次装箱和一次拆箱!
第一次是将i装箱,第2次是输出的时候将i转换成string类型,而string类型为引用类型,即又是装箱,第三次装箱就是(int)obj的转换成string类型,装箱!
拆箱就是(int)obj,将obj拆箱!!

关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢