C#数据类型转换:拆箱和装箱
装箱:将值类型装换为引用类型
拆箱:将引用类型装换为值类型
利用装箱与拆箱功能,可以通过允许值类型的任何值与Object类型的值相互装换,将值类型与引用类型链接起来
下面是简单的举例一
装箱
1
int
val
=
100
;
2
object
obj
=
val
;
3
Console
.
WriteLine
(
"
对象的值
= {0}"
,
obj
);
4
//
这是一个装箱的过程,是将值类型转换为引用类型的过程
拆箱
1
int
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;
}
}
}