C#装箱和拆箱。
程序员文章站
2022-04-08 21:31:56
装箱:值类型-->引用类型。 拆箱:引用类型-->值类型 装箱:把值类型拷贝一份到堆里。反之拆箱。 具有父子关系 是拆装箱的条件之一。 所以: 装的什么类型,拆的时候也必须是对应类型。 使用方法时看是否装拆箱:看需要的参数和传入的参数的集体类型。 使用泛型集合避免装拆箱。 ......
装箱:值类型-->引用类型。
拆箱:引用类型-->值类型
装箱:把值类型拷贝一份到堆里。反之拆箱。
具有父子关系 是拆装箱的条件之一。
所以:
class program { static void main(string[] args) { //不是装拆箱 (类型转换) int n = 100; string s = convert.tostring(n); //根据值在堆里创建,不是复制 int m = int.parse(s); //是装拆箱 int x = 100; object o = x; int y = (int)o; } }
装的什么类型,拆的时候也必须是对应类型。
使用方法时看是否装拆箱:看需要的参数和传入的参数的集体类型。
使用泛型集合避免装拆箱。
上一篇: [译]Android Studio 3.6 新特性概览
下一篇: OAuth2简易实战(三)-JWT