方法參數

如前面的代碼段所示,如果要將參數傳遞給方法,只需在調用方法時在括號內提供這些參數即可。對於被調用的方法,傳入的變量稱爲“參數”。

方法所接收的參數也是在一組括號中提供的,但必須指定每個參數的類型和名稱。該名稱不必與參數相同。例如:

 

public static void PassesInteger()
{
    int fortyFour = 44;
    TakesInteger(fortyFour);
}
static void TakesInteger(int i)
{
    i = 33;
}

 

在這裏,一個名爲 PassesInteger 的方法向一個名爲 TakesInteger 的方法傳遞參數。在 PassesInteger 內,該參數被命名爲 fortyFour,但在 TakeInteger 中,它是名爲 i 的參數。此參數只存在於 TakesInteger 方法內。其他任意多個變量都可以命名爲 i,並且它們可以是任何類型,只要它們不是在此方法內部聲明的參數或變量即可。

注意,TakesInteger 將新值賦給所提供的參數。有人可能認爲一旦 TakeInteger 返回,此更改就會反映在 PassesInteger 方法中,但實際上變量 fortyFour 中的值將保持不變。這是因爲 int 是“值類型”。默認情況下,將值類型傳遞給方法時,傳遞的是副本而不是對象本身。由於它們是副本,因此對參數所做的任何更改都不會在調用方法內部反映出來。之所以叫做值類型,是因爲傳遞的是對象的副本而不是對象本身。傳遞的是值,而不是同一個對象。

 (摘自 madn.microsoft.com/library)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章