C#函數參數前的修飾符


函數的形參前可以帶三種修飾符,分別的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可變參數也是需要傳遞賦了值的變量。

 

四、補充

上述的三種方式都是為了函數返回多個參數值,如果對應的參數有關聯性,

可以把它們封裝成一個類,這樣也能達到返回多個值的效果。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM