/*
* Created by SharpDevelop.
* User: noo
* Date: 2009-8-16
* Time: 13:24
*
* 引用參數(帶關鍵字ref)和值參數
*/
using System ;
class A
{
public static void showDouble(int val)
{
val *=2;
Console.WriteLine ("該數的兩倍為:{0}",val);
}
}
class B
{
public static void showDouble(ref int val)//注意這裡的寫法為帶有關鍵字ref,表明該參數為引用參數
{
val *=2;
Console.WriteLine ("該數的兩倍為:{0}",val);
}
}
class Test
{
static void Main()
{
Console.WriteLine ("以下是值參數的實現方式");
int start=5;
Console.WriteLine ("原始值為:{0}",start);//5
A.showDouble (start);//10
Console.WriteLine ("處理後值為:{0}",start);//5
int begin=5;
Console.WriteLine ("以下是引用參數的實現方式");
Console.WriteLine ("原始值為:{0}",begin);//5
B.showDouble (ref begin);//注意這裡的調用方式也要加上ref,10
Console.WriteLine ("處理後值為:{0}",begin);//10,這裡與值引用得出的結果不一樣,這裡其實已經改變了參數的值
//因為變數的值可能會發生變化,所以調用中必須使用變數,而不能是常量,如上面的begin不能定義為const int begin=5
}
}