
1. 使用null条件运算符简化null检查
在进行链式属性或索引访问时,繁琐的null检查可以得以避免。
旧方法示例:
csharp
string postalcode = “未知”;
if (user != null && user.address != null && user.address.postalcode != null) {
postalcode = user.address.postalcode;
利用null条件运算符,代码可以更加简洁明了:
csharp
string postalcode = user?.address?.postalcode ?? “未知”; // 结合null合并运算符更加便捷
在访问索引器时同样适用:
csharp
int? firstcustomerid = customers?[0]?.id;
优势:代码更加精炼,可读性增强,提高了代码的可维护性。
2. 利用null合并运算符提供默认值
null合并运算符(??)可以在左侧操作数为null时提供默认值。而在c 8.0及以上版本,null合并赋值运算符(??=)仅在变量为null时进行赋值操作。
使用null合并运算符的示例:
csharp
string name = possiblynullname ?? “默认名称”;
使用null合并赋值运算符(c 8.0 )的示例:
csharp
list
numbers ??= new list
console.writeline(numbers.count); // 输出1(或添加的元素数量)
优势:简化了默认值设置和延迟初始化的逻辑,减少了参数位置错误的可能性,提高了代码的可读性和可维护性。使得代码更加流畅,符合编程的简洁性原则。
