1.条件运算符 ?:
例如:a == null ? null : a.x;
这是最常见的问号?运算符。
支持:所有版本C#
2.可空类型定义的简写 int?
C#中null值不能赋值给值类型,如果值类型需要设置可为空则须用:System.Nullable<T> t定义,简写成T? t
例如:System.Nullable<int> total 可简写为: int? total
支持: >= .NET Framework 4.0
3. null 合并运算符 ??
如果此运算符的左操作数不为 null,则此运算符将返回左操作数;否则返回右操作数。
例如:
int x?;
int y = x ?? -1;
支持: >= .NET Framework 4.0
4.null条件运算符 ?.
用于在执行成员访问 (?.
) 或索引 (?[
) 操作之前,测试是否存在 NULL。
if(a != null) a.x(); 等效于 a?.x();
支持 >= C# 6.0