ReSharper 2025.2 Help

代码检查:'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日