
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(或添加的元素数量)
优势:简化了默认值设置和延迟初始化的逻辑,减少了参数位置错误的可能性,提高了代码的可读性和可维护性。使得代码更加流畅,符合编程的简洁性原则。
