C#装箱和拆箱操作实例分析

时间:2021-08-06 12:33:29

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