值傳遞,引用傳遞
值傳遞:是對所引用參數進行一次副本拷貝,對參數的修改只是對副本的修改,函數調用結束,副本丟棄,原來的變量不變
引用傳遞:參數被傳遞到函數時,不復制副本,而是直接將參數自身傳入到函數,函數內對參數的任何改變都將反映到參數上。
使用ref修飾符表明該參數是通過引用傳遞的。
TransPara(a,ref b)//a為值傳遞,b為引用傳遞
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ParametersRefAndValue
{
class Program
{
static void Main(string[] args)
{
int val = 23, refVal = 56;
//輸出調用前的參數值
System.Console.WriteLine("Before call TransPara: val={0},refVal={1}",val,refVal);
TransPara(val,ref refVal);//調用函數,并且輸出調用中的參數值
//輸出調用后的參數值
System.Console.WriteLine("After call TransPara: val={0},refVal={1}", val, refVal);
System.Console.ReadLine();
}
static void TransPara(int val, ref int refVal) {
val++;
refVal--;
System.Console.WriteLine("During call TransPara: val={0},refVal={0}", val,refVal);
}
}
}
結果如下:
Before call TransPara: val=23,refVal=56
During call TransPara: val=24,refVal=24
After call TransPara: val=23,refVal=55
posted on 2009-10-25 16:58
期待明天 閱讀(422)
評論(0) 編輯 收藏 所屬分類:
CSharp