C#中的空值销售赋值运算符的实际用途?

卡斯珀·迪克斯特拉(Casper Dijkstra)

C#中的空值

C#的一项新功能允许我们使用可为空的引用类型摆脱代码中的我们鼓励添加

<Nullable>enable</Nullable>

由于此处描述的问题而导致无法访问项目文件

当然,许多现有项目都不想添加它。启用此功能时,需要解决很多很多错误,因此仍会出现许多旧的空值但是,我们真的需要该语言的其他null功能吗?

混乱

在同一C#8.0版本中,??=引入了空合并赋值运算符()(请参阅docs)。我了解这种行为,但是它为我们解决了哪些问题?为什么要分配bxnullx ??= bx = a不是例如null?

我发现的示例非常理论化,有人可以给我该运算符实际应用吗?提前致谢!

泰德

一个真实的例子是,当后备字段为null时,在第一次访问时延迟加载后备字段。像这样:

private string _dbQuery;
private string DbQuery => _dbQuery ??= GetQuery(queryName);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章