本文实例讲述了C#装箱和拆箱操作。分享给大家供大家参考,具体如下:
1. C#中的装箱
C#中的装箱就是把一个值类型隐式地转换为object类型,转换过程中采用的是值的拷贝而不是引用,这从下面的例子可以看出:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
using System; public class Test { public static void Main(String[] args) { int i = 10; //将值类型的i装箱 //需要注意的是:这里的装箱采用的是值的拷贝 object obj = i; //检验是否装箱成功了 if (obj is int ) { Console.WriteLine( "数据已经装箱!" ); } //我们在这里更改i的值 i = 33; Console.WriteLine( "int i现在的值是:{0}" ,i); Console.WriteLine( "int i装箱的值是:{0}" ,obj); } } |
2. C#中的拆箱
C#中的拆箱就是把一个对象类型显式地转换为值类型,注意:要转换的类型必须和值类型是兼容的。举例如下:
1
2
3
|
int i = 10; object obj = i; int j = ( int )obj; |
在这里需要注意的是:
装箱和拆箱是非常影响程序性能的,在代码中应避免装箱和拆箱的操作。可以使用泛型来减少这样的操作。
希望本文所述对大家C#程序设计有所帮助。