作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我刚开始使用 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/
所以我刚开始使用 LINQ,它看起来很有用,但我在从查询中获取值时遇到了一些问题。 这是我的原始代码,但我想用 LINQ 替换: foreach (LocationModel loc in locat
我是一名优秀的程序员,十分优秀!