-
把 List 里的 struct 取出来改了字段、列表里的原值却纹丝没动像没被改过:C# 值类型与引用类型分不清导致改了副本的避坑复盘
这是一个我明明改了它它却没变的诡异 bug,让我对 C# 里值类型和引用类型的区别有了刻骨铭心的理解。事情是这样的:我们有一个表示坐标点的结构体 struct Point,我把一堆这样的点装进了一个 List 里,某个逻辑需要修改列表里某个点的 X 坐标,我很自然地写了先把那个点取出来 var p = list0 改一下 p.X = 100。改完我满以为列表里的那个点就变成 X=100 了,可一打…- 0
- 0
-
用户数据莫名串味:Python 可变默认参数避坑复盘
这是我职业生涯里排查得最久也最毛骨悚然的一个 bug:一个 Python 写的接口偶尔会串味——A 用户请求自己的数据,返回里却莫名混进了 B 用户的几条记录。注意是偶尔,大部分时候都正常,只在生产高峰期零星出现,测试环境怎么都复现不了。对处理用户数据的系统来说这种串味最恐怖,它不是崩溃不是报错,而是静默的数据污染。我查了整整两天,一度怀疑是缓存串了、连接池复用了脏连接、是并发竞态,把能想到的高大…- 0
- 0
深浅拷贝
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!


