まず、コンテキストを提供しましょう。
C# では、メソッドに渡されるオブジェクトは参照によって渡されます。参照は、渡されたオブジェクトがキーワードで再インスタンス化された場合にのみ失われますnew
var obj = Alter(obj)
だから、私は(方法1)のようなことをするのが好きです。つまり、オブジェクトを渡してオブジェクトを返します。同等のことを行うのとは対照的に: Alter(obj)
(方法 2)参照されるオブジェクトが同じように変更されますが、コピーを返す代わりに参照によって変更されます。命知らずのコーダーが後でコードを変更してキーワード「new」を使用した場合...既存のコードが燃えたり死んだりしないため、最初のコードの方が優れていると私は主張します。
私の質問は、方法 1は方法 2よりも大幅に多くのメモリを使用するか、それとも他のパフォーマンスの低下を引き起こすかということです。つまり、これにより GC がより頻繁に呼び出されますか?
答えはノーだ