首先让我提供上下文:
在 C# 中,传递给方法的对象是通过引用传递的。仅当使用关键字重新实例化传入的对象时,引用才会丢失new
所以,我喜欢做var obj = Alter(obj)
(方法1)之类的事情,即我传入一个对象并返回该对象。与执行等效操作相反:(Alter(obj)
方法 2)引用对象的更改相同,除了通过引用而不是返回副本。我认为第一个更好,因为如果某些冒失的编码员后来修改代码以使用关键字“new”......现有代码不会烧毁和死亡。
我的问题是方法 1会比方法 2使用更多的内存还是会导致任何其他性能下降?即这会更频繁地调用 GC 吗?
答案是不