c#ref
和out
關鍵字:一個清晰的區別
在C#中,當方法需要修改作為參數傳遞的物件時,ref
>和out
關鍵字扮演著至關重要的角色。 雖然兩者都可以修改,但它們的行為卻大不相同。
ref
關鍵字:修改現有物件
>
ref
關鍵字表示方法直接在原始物件上作為參數而不是副本運行。該方法中的任何變更直接影響原始物件。重要的是,必須在傳遞到方法之前初始化物件>
out
關鍵字:建立與回傳物件
> out
關鍵字指示該方法負責初始化物件。此方法將值指派給對象,然後將此新初始化的對象返回到呼叫者。 out
>參數被聲明,但在方法呼叫之前不需要初始化。
選出正確的關鍵字>
和ref
之間的選擇取決於方法的目的:out
>
ref
現有物件;此方法不會建立新物件。
out
建立並傳回一個新物件;此方法負責初始化。
說明範例:
<code class="language-csharp">public void ModifyWithRef(ref MyClass someClass) { someClass.Property1 = 10; } public void CreateWithOut(out MyClass someClass) { someClass = new MyClass { Property1 = 20 }; }</code>
>使用ModifyWithRef
修改現有someClass
。 ref
使用CreateWithOut
建立和初始化someClass
。 注意呼叫這些方法時的初始化需求差異。 out
以上是C# 修改物件的 ref 和 out 關鍵字有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!