代码检查:'if' 语句可以重写为 '??' 表达式
如果您想根据标识符的可空性分配值、传递参数或从方法返回值,在这些情况下,您可以使用的最清晰语法是 ?? (空合并)运算符。
因此,每当 ReSharper 在上述上下文中遇到 if 运算符时,它会建议使用 ?? 运算符简化表达式。
以下是此检查建议的 快速修复示例:
private string _name;
public string Name
{
get
{
if (_name == null) _name = "Anonymous";
return _name;
}
set { _name = value; }
}
private string _name;
public string Name
{
get { return _name ?? (_name = "Anonymous"); }
set { _name = value; }
}
关于两个运算符的性能,没有可观察到的差异。 实际上, ?? 甚至稍微快一点。
最后修改日期: 2025年 9月 27日