gpt4 book ai didi

c# - 从 LINQuery 获取单个元素?

转载 作者:行者123 更新时间:2023-11-30 16:44:17 25 4
gpt4 key购买 nike

所以我刚开始使用 LINQ,它看起来很有用,但我在从查询中获取值时遇到了一些问题。

这是我的原始代码,但我想用 LINQ 替换:

foreach (LocationModel loc in locationList)
{
if (loc.Name.Equals(location, StringComparison.CurrentCultureIgnoreCase))
{
locationId = loc.Id;
break;
}
}

这是我为做同样的事情而编写的 LINQ:

var matchQuery = from loc in locationList
where loc.Name.ToLowerInvariant() == location.ToLowerInvariant()
select loc.Id;

现在如何从 matchQuery 中实际获取 int Id?

最佳答案

如果您只想要第一项,则使用 FirstOrDefault:

 var id = (from loc in locationList
where loc.Name.ToLowerInvariant() == location.ToLowerInvariant()
select loc.Id).FirstOrDefault();

或者在方法语法中:

var id = locationList.FirstOrDefault(loc => loc.Name.ToLowerInvariant() == location.ToLowerInvariant())?.Id;

关于c# - 从 LINQuery 获取单个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43785947/

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