using System; //导入System命名空间
namespace Helloworld //声明命名空间Helloworld
{
class Program //声明Program类
{
static void Main() //程序入口,Main 的返回类型为 void
{ ZhuangXiang();
ChaiXiang(); Console.ReadLine(); //控制台类的ReadLine()方法用于输入,结束显示
}
/// <summary>
/// 值类型与引用类型的关系--装箱操作
/// </summary>
public static void ZhuangXiang()
{
//值类型与引用类型的关系--装箱操作
int x = 123;
object obj1 = x; //装箱操作
x = x + 100; //改变x的值,此时obj1的值并不会随之改变
Console.WriteLine("x={0}", x); //x=223
Console.WriteLine("obj1={0}", obj1); //obj1=123
}
/// <summary>
/// 拆箱
/// </summary>
public static void ChaiXiang()
{
/*当一个装箱操作把值类型转换为一个引用类型时,不需要显式地强制类型转换;
而拆箱操作把引用类型转换到类型时,由于它可以强制转换到任何可以相容的值类型,
所以必须显式地强制类型转换。*/
int x = 123, y;
object obj1 = x; //装箱
x = x + 100; //改变x的值,此时obj1的值并不会随之改变
y = (int)obj1; //拆箱操作,必须进行强制类型转换
Console.WriteLine("x={0}", x); //x=223
Console.WriteLine("obj1={0}", obj1); //obj1=123
Console.WriteLine("y={0}", y); //y=123
}
}
}
|