代码检查:'if' 语句可以重写为 '??=' 赋值
如果您想根据标识符的可空性分配值、传递参数或从方法返回值,在这些情况下,您可以使用的最清晰语法是 ?? (空合并)运算符。
因此,每当 ReSharper 遇到一个变量的赋值操作之前使用 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月 27日