gpt4 book ai didi

C# Null 与 LINQ 合并

转载 作者:太空狗 更新时间:2023-10-29 23:58:50 24 4
gpt4 key购买 nike

我有 2 个类,如下所示:

class Widget
{
string Selected { get; set; }

List<Option> Options { get; set; }
}

class Option
{
string InternalCode { get; set; }

string ExternalCode { get; set; }
}

Options 为每个客户端动态填充不同的数据,以将 ExternalCode 显示为选项

Selected 填充有 ExternalCode

然后我需要访问匹配的 InternalCode

目前我是这样做的:

var option = widget.Options.SingleOrDefault(o => o.ExternalCode == widget.Selected);

var internalCode = option == null ? string.Empty : option.InternalCode;

是否可以使用使用 Null Coalesce 的单行?

最佳答案

是的,您可以使用 null 传播和 null 合并运算符,如果您可以使用 C# 6,这将满足您的需求:

var option = widget.Options
.SingleOrDefault(o => o.ExternalCode == widget.Selected)?.InternalCode
?? string.Empty;

?. 将转换为您对 option == null ? 部分的使用。

关于C# Null 与 LINQ 合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34630920/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com