c#ref
およびout
キーワード:明確な区別
および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>
以上がオブジェクトを変更するためのc# 's` ref`と `out`キーワードの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。