可能重複的區別:
Difference between ref and out parameters in .NET是什麼裁判之間進出
我知道裁判用於傳遞變量的變化值的函數, 之外,但它與外面有什麼不同?
可能重複的區別:
Difference between ref and out parameters in .NET是什麼裁判之間進出
我知道裁判用於傳遞變量的變化值的函數, 之外,但它與外面有什麼不同?
必須首先初始化傳遞給參數 的參數。將 與輸出參數進行比較,其 參數不必爲 ,而是在將 傳遞給輸出參數之前顯式初始化。
out
參數必須先分配,然後才能讀取它,然後函數返回。
A ref
參數在讀取或函數返回之前不需要分配給它。
因此,可變必須在將它作爲一個ref
參數之前被分配,而一個out
參數可以通過它在之前被初始化。
甲ref
參數允許在數據傳遞到你的功能除了發送外,還有。
與out
參數函數不能看到參數的初始值(在編譯器將認爲它未初始化)
指定參數作爲out
意味着函數需要一個值在返回之前分配給它。將參數指定爲ref
意味着功能可以爲其分配值,但不是必需的。
請注意,這只是一個C#約定,運行時沒有區分這兩者。
ref
當進入該方法的變量的值被認爲是被初始化並準備使用時被使用。一個例子是字符串解析系統中的一個索引:一個方法可以有一個ref int index
,它將根據該方法讀取的內容遞增。
out
類似於多個返回值。在調用方法之前,變量不必被初始化,變量必須在被調用的方法中設置爲,然後才返回。
可能的重複:http://stackoverflow.com/questions/1516876/when-to-use-ref-vs-out – linuxuser27 2011-03-17 00:36:08