c#中Null条件运算符

Null 条件运算符(?.)和空合并运算符(??)是用于处理可能为空的对象的特殊运算符

  • Null 条件运算符(?.)用于在访问对象的属性或调用对象的方法之前,先检查对象是否为空。如果对象为空,运算符将返回 null,否则将继续执行后续操作。
  • 空合并运算符(??)用于在对象为空时提供一个默认值。如果对象为空,运算符将返回默认值,否则将返回对象本身。
// 使用 Null 条件运算符
Customer customer = new Customer();
string name = customer?.Name;

// 编译代码
Customer customer = new Customer();
if (customer != null)
{
    string name = customer.Name;
}

// 使用 Null 条件运算符和空合并运算符的组合
if (customer?.Face() ?? false)
{
    // 执行操作
}

// 使用多个 Null 条件运算符和空合并运算符的组合
int? contactNameLen = contact?.Name?.Length;

在对象使用前检查是否为null。如对象空,则赋值给变量为空值,所以例子中需要一个为空的int类型、即int?。如果对象不为空,则调用对象的成员取值,并赋值给变量。

posted @ 2023-11-03 09:41  少年。  阅读(104)  评论(0编辑  收藏  举报