使用值參數(shù),通過復(fù)制實參的值到形參的方式,把數(shù)據(jù)傳遞到方法,方法被調(diào)用的時候,系統(tǒng)做如下操作:
在棧中為形參分配空間;
復(fù)制實參到形參。
注意:一個值參數(shù)的實參不一定是變量,它可以是任何能夠計算成相應(yīng)數(shù)據(jù)類型的表達(dá)式。

在把變量用作實參之前,變量必須被賦值(除非是輸出參數(shù),這個稍后介紹),對于引用類型,變量可以設(shè)置成實際引用或者Null。


注意:對于值參數(shù),系統(tǒng)在棧上為形參分配內(nèi)存,相反對于引用參數(shù):
形參的參數(shù)名,看起來就好象是實參變量的別名,也就是說,他們指向的是相同的內(nèi)存位置。
由于形參名和實參名的行為,就好象指向相同的內(nèi)存位置,所以在方法的執(zhí)行過程中,對形參作的任何改變,在方法完成后依然有效(表現(xiàn)在實參變量上)。
注意:在方法的聲明和調(diào)用上都使用關(guān)鍵字ref.


輸出參數(shù)用于從方法體內(nèi),把數(shù)據(jù)傳出到調(diào)用代碼,他們非常類似引用參數(shù),輸出參數(shù)的要求如下:
必須在聲明和調(diào)用中都使用修飾符。輸出參數(shù)的修飾符是out而不是ref.
和引用參數(shù)類似,實參必須是變量,而不能是其他類型的表達(dá)式。這也是有道理的,因為方法需要內(nèi)存位置來保存返回值。

就像引用參數(shù),輸出參數(shù)的形參擔(dān)當(dāng)實參的別名。方法內(nèi)對形參的任何改變,在方法執(zhí)行完成后,通過實參變量都是可見的。
不同的是,輸出參數(shù)的要求是:
在方法內(nèi)部,輸出參數(shù)在被讀取之前必須被賦值。這意味著,參數(shù)的初始值是無關(guān)的,而且沒有必要在方法調(diào)用之前為實參賦值;
在方法返回之前,方法內(nèi)部的任何貫穿路徑的可能路徑,都必須為所有輸出參數(shù)進(jìn)行一次賦值。




新聞熱點
疑難解答