[C#]out與ref的區別

最近學習了out與ref,兩個都是Call by Reference,但是還是有區別的。

使用out的時候無需先給予值,在Method結束前必須給予值,不然會出現錯誤。

給予值後才能執行。

ref的使用限制為必須先給予變數值才可以使用,若未給予值會出現錯誤。

給予值之後才能執行。

簡單來說,out是用來初始化賦予值用的,例如有一個類別建構子有大量的屬性要給予值,就可以使用。

例如說TestClass建構子要給予以下的屬性值,但是一個一個打會太過冗贅,使用out可觀性會增加許多。

 

以下使用out就會已較容易閱讀了。