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()
{
/*當一個裝箱操作把值類型轉(zhuǎn)換為一個引用類型時,不需要顯式地強制類型轉(zhuǎn)換;
而拆箱操作把引用類型轉(zhuǎn)換到類型時,由于它可以強制轉(zhuǎn)換到任何可以相容的值類型,
所以必須顯式地強制類型轉(zhuǎn)換。*/
int x = 123, y;
object obj1 = x; //裝箱
x = x + 100; //改變x的值,此時obj1的值并不會隨之改變
y = (int)obj1; //拆箱操作,必須進行強制類型轉(zhuǎn)換
Console.WriteLine("x={0}", x); //x=223
Console.WriteLine("obj1={0}", obj1); //obj1=123
Console.WriteLine("y={0}", y); //y=123
}
}
}
|