自己的比喻
值类型像把内容复印进变量;引用类型像变量里只放了门牌号,大家可能指向同一间房。这个比喻不严谨,但帮我过了最初那关。
写代码时的提醒
- 改一个对象属性,别的变量也可能一起变——先确认是不是同一引用。
- 需要独立副本时,别只是赋值变量,要明确复制策略。
struct不是性能万金油,字段一多、传来传去,未必更省心。
调试时如果「明明改了 A,B 也变了」,我第一反应就是:是不是引用被共享了。
基础
值类型像把内容复印进变量;引用类型像变量里只放了门牌号,大家可能指向同一间房。这个比喻不严谨,但帮我过了最初那关。
struct 不是性能万金油,字段一多、传来传去,未必更省心。