初学C#,很多概念搞的我很混有几个问题,有懂的朋友不吝赐教啊=。=
1:装拆箱:string是对象类型,那么是不是意味着string a = "123";"123"值类型,a对象,所以有装箱操作?
2:泛型:List<string> a=new List<string>();
a.add("abc");
泛型实现给LIST定义了数据类型,就意味着可以避免装箱操作?但是LIST的数据类型是string呢?string不本身就是引用类型吗?...
3:堆栈:栈和堆的实际地址分别是什么地方?堆是内存?栈呢?网上有说栈的大小WINDOWS系统是固定值,那么物理上在什么地方的呢?
1:装拆箱:string是对象类型,那么是不是意味着string a = "123";"123"值类型,a对象,所以有装箱操作?
2:泛型:List<string> a=new List<string>();
a.add("abc");
泛型实现给LIST定义了数据类型,就意味着可以避免装箱操作?但是LIST的数据类型是string呢?string不本身就是引用类型吗?...
3:堆栈:栈和堆的实际地址分别是什么地方?堆是内存?栈呢?网上有说栈的大小WINDOWS系统是固定值,那么物理上在什么地方的呢?
推出了泛型后,就不会发生这些问题了.
关于装箱就是值类型从堆栈被复制到堆上,而拆箱放之。