C#数据类型转换:拆箱和装箱
装箱:将值类型装换为引用类型
拆箱:将引用类型装换为值类型
利用装箱与拆箱功能,可以通过允许值类型的任何值与Object类型的值相互装换,将值类型与引用类型链接起来
下面是简单的举例一
装箱
1
int val = 100;
2
object obj = val;
3
Console.WriteLine("对象的值 = {0}", obj);
4
//这是一个装箱的过程,是将值类型转换为引用类型的过程
拆箱
1int num = (int)obj;
2 Console.WriteLine("num: {0}", num);
3//这是一个拆箱的过程,由引用类型转换为值类型的过程
举例二(进阶版)
static void Main(string[] args)
{
int num = 5;
float fNum = 5.5f;
string str = "装箱测试";
PrintObject(num, 1);
PrintObject(fNum, 2);
PrintObject(str, 3);
}
static void PrintObject(object obj,int type)
{
switch (type)
{
case 1:
int value = (int)obj;
Console.WriteLine("Object 的值为整型:{0}", ++value);
break;
case 2:
float fvalue = (float)obj;
Console.WriteLine("Object 的值为浮点型:{0}", ++fvalue);
break;
case 3:
string str = obj.ToString();
Console.WriteLine("Object 的值为字符串:{0}", str);
break;
}
}
}