| 发表于:2007-03-01 09:18:1026楼 得分:0 |
装箱和拆箱的意义可以理解为值类型和引用类型的转换...要理解转换的意义,你就必须要先了解值类型和引用类型的区别和特点... 当你把一个值类型赋予给另外一个值类型,则会在堆栈中复制一个副本.修改值类型的数据,则不会影响到另一个数据值..而引用类型的赋值.把一个引用变量赋予另一个引用变量,则复制的是引用,而非内存值,所以,修改一个变量会影响到另外一个引用. 如果再深入了解的话,你会发现类型转换之间的关系对于性能的影响和操作的结果是很大的..看下面的这个例子: string s = 10.tostring(); 上面的代码的用拆箱的形式实现,代码表现为: int i = 10; //在栈上分配一个int类型 object o = i; //把栈上的数据移到堆中,进行拆箱操作 string s = o.tostring(); //转换数据 如果有兴趣可以参考 <c#高级编程> 和李建忠翻译的 <microsoft.net框架程序设计(修订版) > 两本书的封箱和拆箱的章节... | | |
|