gpt4 book ai didi

c# - 使用 Linq 选择特定元素

转载 作者:行者123 更新时间:2023-11-30 20:42:37 24 4
gpt4 key购买 nike

我想使用 linq 提取特定元素。如果此元素不在给定列表中,我想使用该列表中的任何其他元素。

有没有更简单的方法来实现这个目标?这是我目前的解决方案:

string content = String.Empty;
Text t = texts.FirstOrDefault(x => x.Display == Display.Terminal);
if (t != null)
{
content = t.Value;
}
else
{
t = texts.FirstOrDefault();
if (t != null)
content = t.Value;
}

谢谢。

编辑:使用 Asad 建议的解决方案,我将代码更改为

string content = (texts.FirstOrDefault(x => x.Display == Display.Terminal) ?? texts.FirstOrDefault() ?? new Text()).Value;

最佳答案

你可以写得更简洁一点:

var t = texts.FirstOrDefault(x => x.Display == Display.Terminal) ?? texts.FirstOrDefault();
if ( t != null ) content = t.Value;

如果您使用的是最新的 C#,您甚至可以使用 null 传播运算符使其成为单个表达式:

var content = (texts.FirstOrDefault(x => x.Display == Display.Terminal) ?? texts.FirstOrDefault())?.Value;

关于c# - 使用 Linq 选择特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31207965/

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