C#中ref和out的區別


用途:

 在C#中通過使用方法來獲取返回值時,通常只能得到一個返回值。因此,當一個方法需要返回多個值的時候,就需要用到ref和out。

概述:

ref 關鍵字使參數按引用傳遞。其效果是,當控制權傳遞回調用方法時,在方法中對參數所做的任何更改都將反映在該變量中。若要使用 ref 參數,則方法定義和調用方法都必須顯式使用 ref 關鍵字。

out 關鍵字會導致參數通過引用來傳遞。這與 ref 關鍵字類似,不同之處在於 ref 要求變量必須在傳遞之前進行初始化。若要使用 out 參數,方法定義和調用方法都必須顯式使用 out 關鍵字。

相同點:

1、都能返回多個返回值。

2、若要使用 ref 和out參數,則方法定義和調用方法都必須顯式使用 ref和out 關鍵字。在方法中對參數的設置和改變將會直接影響函數調用之處(參數的初始值)。

區別:

1、ref指定的參數在函數調用時候必須初始化,不能為空的引用。而out指定的參數在函數調用時候可以不初始化;

2、out指定的參數在進入函數時會清空自己,必須在函數內部賦初值。而ref指定的參數不需要。

口訣:

ref有進有出,out只出不進。


免責聲明!

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



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