本文实例讲述了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#程序设计有所帮助。