ReSharper 2026.1 Help

代码检查:使用 'with' 表达式代替对象初始化器

当普通的对象初始化器可以完成相同任务且无需克隆时,此检查项会报告在新建对象上使用 with 表达式的情况。 如果左侧已经是 new T() 且没有有意义的初始化器,则无需先进行克隆。 普通的对象初始化器更简洁明了。

示例

var item = new Record() with { Value = 42, Name = "test" }; record Record { public int Value { get; init; } public string Name { get; init; } }
var item = new Record { Value = 42, Name = "test" }; record Record { public int Value { get; init; } public string Name { get; init; } }

快速修复

with 表达式替换为对象初始化器。

2026年 5月 8日