代码检查:使用 'with' 表达式复制结构体
该检查会报告这样的结构体复制代码:主要根据已有结构体值生成新值,只修改了一项或少数几项成员。 在这种情况下, with 表达式能更清晰地表达“复制该值并修改这些成员”。
示例
var point = new Point { X = 1, Y = 2 };
var moved = new Point { X = point.X, Y = 10 };
var point = new Point { X = 1, Y = 2 };
var moved = point with { Y = 10 };
快速修复
with 形式更简洁,并且突出显示已更改的成员,而不是重复被复制的成员。
2026年 5月 8日