以下列出四種傳參數的方法

分別是

輸入參數

參考參數

輸出參數

參數的陣列

 

輸入參數:

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

用在我們不知道要傳入幾個參數時用

welkingunther 發表在 痞客邦 PIXNET 留言(0) 人氣()