以下列出四種傳參數的方法
分別是
輸入參數
參考參數
輸出參數
參數的陣列
輸入參數:
int i=10;
myFun(i);
MessageBox.Show(i);
public void myFun(int k)
{
k=k+20;
}
以上會印出10
因為這是種Pass By Value的傳一個複製的值給K
故i跟K是分開的
注意如果傳的是參考型別的資料,就是傳參考喔
參考參數:
int i=10;
myFun(ref i);
MessageBox.Show(i);
public void myFun(ref int k)
{
k=k+20;
}
以上會印出30
因為這是種Call By Reference的傳記憶體位置給K
i跟K是指向同一個記憶體位置的
故K一改,i指的東西也會改
注意這邊的i要先初始等於一個值後才能傳入他的參考
輸出參數:
int i;
myFun(out i);
MessageBox.Show(i);
public void myFun(out int k)
{
k=k+20;
}
以上會印出30
跟參考參數不同的地方在於這邊的i不用先初始為一個值就可傳
因為他是一種從k那邊傳出來的輸出參數
這邊的i跟k用的是同一個記憶體位置
不像參考參數的i跟k用的是不同的記憶體位置且各都有存一個一樣
的參考的記憶體位置
參數的陣列:
public void Bow(param int[] balls)
{
for(int i=0;i<balls.length;i++)
{
MessageBox.Show(balls[i]);
}
}
Bow(10,20,30,40)會印出10,20,30,40
Bow(1,2,3,4,5)會印出1,2,3,4,5
用在我們不知道要傳入幾個參數時用