代码检查:根据可空引用类型的注解,'??' 条件始终不为 null。
当可空注解或 API 合约已经声明左侧永远不会为 null 时,此检查会在出现 ?? 或 ??= 表达式时报告。 在这种情况下,备用值不可达,通常表示存在冗余代码或为 null 性注解不匹配。
示例
#nullable enable
using System.Diagnostics.CodeAnalysis;
class C
{
[DisallowNull]
private string? _name = "";
string GetName()
{
return _name ?? "Unknown";
}
}
#nullable enable
using System.Diagnostics.CodeAnalysis;
class C
{
[DisallowNull]
private string? _name = "";
string GetName()
{
return _name;
}
}
快速修复
根据具体情况,快速修复还可以将成员或参数改为可空,而不是移除不可达的备用值。
2026年 5月 8日