?. 叫空值传播运算符,对象是 null 时直接返回 null,不报空引用异常。 string name = person?.Name; // person为null时,返回null,不报错 // 等价于: // if (person == null) return null; // else return person.Name; //(以前不懂,猛写if else) 还能链式用:person?.Address?.City,中间任何一环是 null,整个表达式返回 null。 ?? 叫空值合并运算符,左边是 null 就拿右边的默认值。 string displayName = name ?? "未命名"; // name是null就显示"未命名" 两者经常组合使用。 string city = person?.Address?.City ?? "未知城市"; // 安全取值,null时给默认值
?. 和 ?? 空值处理
以下为完整正文内容。
正文
搜索结果
请输入关键词开始搜索。