gpt4 book ai didi

c# - LINQ 检查 FirstOrDefault 是否为 null 并使用它

转载 作者:太空宇宙 更新时间:2023-11-03 17:55:30 26 4
gpt4 key购买 nike

我正在编写一个在 OrderBy 查询之后使用 FirstOrDefault 的查询,它应该首先检查它是否不为 null 然后使用其中的一些数据。有没有比这样写更好的方法:

int count = db.Items.Count(i => 
i.Assignments.OrderByDescending(a =>
a.DateAssigned).FirstOrDefault() != null
&&
i.Assignments.OrderByDescending(a =>
a.DateAssigned).FirstOrDefault().DateReturned == null)

这段代码的作用是有些项目有很多分配,我按日期获取最新的分配,然后检查它是否存在,然后对属性运行条件 (DateReturned)。如您所见,这个查询很长,而且我的大部分查询看起来像这样,我首先检查是否为空,然后使用它们的属性对其运行第二个查询。有更好的方法吗?

最佳答案

只需调用.Any(a => a.DateReturned == null) 来检查是否有任何项目符合条件。

如果你只想检查最新的分配,在.Any()之前添加.Take(1)

关于c# - LINQ 检查 FirstOrDefault 是否为 null 并使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12096720/

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