在 C# 中,?.
和 ??
是两个不同的操作符,它们用于处理可能为 null
的对象。让我们分别解释这两个操作符以及它们的组合使用:
1. 可空类型 (?
)
在 C# 中,?
用于定义可空值类型(Nullable Value Types)。通常,值类型(如 int
, bool
, double
等)不能为 null
,但通过在这些类型的后面加上 ?
,你可以创建一个可以接受 null
的版本。
语法:
type? variable;
示例:
int? nullableInt = null; // 可以赋值为 null
bool? nullableBool = true; // 也可以赋值为 true 或 false
2. 空条件运算符 (?.
)
空条件运算符(Null-conditional Operators)允许你在访问成员(如属性、方法或索引器)之前检查对象是否为 null
。如果对象是 null
,则表达式会短路并返回