1、值傳遞-情況1:
2、值傳遞-情況2:
傳值函數(值傳遞一個對象實例),在內存中創建了實際參數的副本,怎麼理解這句話?下圖中,賦值前,方法中的[參數]創建了一個實際[變量]的副本。如如果你在方法中,對參數 使用操作符new 創建了一個新對象,並對這個新對象做出一些更改,那麼這個new操作不會影響 方法之外的 [變量]所指的對象數據。這就是創建了副本的意義。
下面這種傳值方式,在工作中,很少見。
下圖中,賦值後,通過傳進來的[參數]修改對象的成員狀態,在方法結束後,再通過[變量]訪問對象,該對象成員狀態已經被上面的方法修改過了。
3、引用傳遞-情況1:
4、引用類型-情況2:
4.1、常用情形:
4.2、不常用情形:
5、輸出參數-情況1:
5.1、out-傳入值類型示例:
double.TryParse()方法的實現,同樣的,需要知道的是,在轉換類型失敗,double.TryParse()也會將傳入的參數值更改成0。
6、輸出參數-情況2: