c# 数据转换(显式隐式),装箱拆箱、值传递与引用传递

一、装箱与拆箱

装箱:将值类型转换为引用类型  

拆箱:将引用类型转换为值类型

            int n = 100;
            object b = n; //装箱,性能损失,将值类型转换为引用类型  
            int c = (int)b;//拆箱,将引用类型转换为值类型

  判断是否可以拆装箱:看两种类型是否是继承关系,有关系则可能,无则不可能。

 //非继承,没有发生装拆箱操作
            string str = "12345";
            int a = Convert.ToInt32(str);

二、值传递与引用传递 

视频链接https://www.bilibili.com/video/BV1FJ411W7e5?p=148

值类型:int、double、float等

引用类型:object、string、类、结构、接口、自定义

值类型通常被分配到堆栈上,引用类型则分配到托管堆上,值类型由操作系统负责回收,引用类型则由GC负责。

值类型的变量和实际地址都储存在堆栈上,而引用类型的变量(即内存地址)在堆栈中,实际数据储存在托管堆中。

c# 数据转换(显式隐式),装箱拆箱、值传递与引用传递

上一篇:API 通过QQ号获取QQ头像


下一篇:C# -AES加解密帮助类