# C# 可空引用、类型与模式检查清单

## 可空引用类型

- `#nullable` 上下文与 `?`、`!` 使用是否与契约一致；是否引入可证的 `NullReferenceException` 路径。
- 公共 API 是否用可空注解准确表达允许 null 的契约。

## null 与模式

- `?.`、`??`、`is null` 是否覆盖分支；是否误用 `!` 压制警告而无运行时保证。
- `record` / `init` / 主构造函数等是否与不可变意图一致，是否暴露可突变状态。

## 泛型与约束

- 泛型约束是否足够；`default`、未约束泛型上的 `== null` 等是否语义正确。
