C# 中 ref
和 out
關鍵字的差異與應用場景
在 C# 中,ref
和 out
關鍵字用於按引用傳遞對像到方法或函數。它們允許調用方直接在被調用方法中操作對象。
使用場景:
ref
和 out
都允許修改傳遞給方法的對象。關鍵區別在於它們的初始化要求:
ref
:
out
:
選擇哪個關鍵字:
選擇 ref
的情況:
選擇 out
的情況:
示例:
考慮以下修改 MyClass
對象的 Count
屬性的方法:
<code class="language-csharp">public void IncrementCount(ref MyClass myClass) { myClass.Count++; }</code>
將預先初始化的 myClass
對像傳遞給此方法將導致其 Count
屬性被修改。另一方面,傳遞空或未初始化的對象將導致運行時錯誤。
在此場景中使用 out
:
<code class="language-csharp">public void CreateNewClass(out MyClass myClass) { myClass = new MyClass(); }</code>
在這種情況下,該方法創建並為 myClass
參數分配一個新的 MyClass
實例。新的對象將返回給調用方,調用方在其本地上下文中擁有一個已初始化的對象。
以上是c#`ref`與``of'':何時使用哪個關鍵字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!