從CLR角度看, 關鍵字out和ref是等效的,無論使用那個關鍵字,都會生成相同的中繼資料和IL代碼。但是C#編譯器将這兩個關鍵字差別對待:差別在于那個方法負責初始化引用的對象。
1。out關鍵字:調用者不希望在調用方法之前初始化對象,被調用的方法不能讀取對象的值。而且被調用的方法必須在傳回之前為對象指派。
2。ref關鍵字:調用着必須在調用方法之前首先初始化參數值,被調用的方法可以讀取參數,并且可以為參數指派
---CLR via C# 第八章方法:構造器,操作符,轉換操作符和參數 8.6通過引用向方法傳遞參數