函數的形參前可以帶三種修飾符,分別的out、ref、param。
out:讓函數可以輸出“多個值”,並不是真正的輸出多個值。
ref:相當於引用傳遞,在函數內部賦值會影響變量的值。
params:可變參數,當不知道數組的個數時可以方便的使用。
一、out
代碼解析:
1.使用格式,定義時:out 類型 形參數名。使用時:out 實參名。
定義out參數變量時,可以不為變量賦值,因為賦值也是無用的,必須在方法內重新賦值。
2.可以看到,調用函數后,count的值變成了3。
3.C#7.0對out參數做了改進,目前還沒有研究。


二、ref
1.使用格式,定義時:ref 類型 形參名。調用時:reg 實參名。
可以看到,使用ref的變量在使用前是必須賦值的,因為函數內部可以不對其做操作。
2.由結果可知,count的值被賦值為10086了。對普通的參數,形參值的改變是不會影響實參值的。


三、params
1.使用格式,定義:params 類型的數組形式(如:int[]) 形參名,必須是在所有形參的結尾定義。
2.調用時,可以不為params傳遞參數,此時,形參將是一個長度為0的數組,而不是NULL。
3.可以看到,對params可變參數的賦值形式,
a.可以不傳遞參數。
b.可以使用單個的參數拼湊成數組。
c.直接傳遞數組。
4.對可變參數的操作和對數組的操作一致,只是需要對其進行判斷是否傳遞了參數。
5.params可變參數也是需要傳遞賦了值的變量。


四、補充
上述的三種方式都是為了函數返回多個參數值,如果對應的參數有關聯性,
可以把它們封裝成一個類,這樣也能達到返回多個值的效果。
