JetBrains Rider 2025.2 Help

代码检查:'if' 语句可以重写为 '??=' 赋值

如果您希望根据标识符的可空性分配值、传递参数或从方法返回值,在这些情况下,您可以使用的最清晰语法是 ?? (null 合并)运算符。

因此,每当 JetBrains Rider 遇到一个变量的赋值操作,并且在此之前使用 if 表达式检查该变量是否为 null 时,它会建议使用 ??= 运算符简化赋值。

class TypeCheck { Type CheckType(object obj) { if (obj == null) obj = new { }; return obj.GetType(); } }
class TypeCheck { Type CheckType(object obj) { obj ??= new { }; return obj.GetType(); } }

关于两个运算符的性能,没有可观察到的差异。 实际上, ?? 甚至稍微快一点。

最后修改日期: 2025年 9月 26日