我正在使用以下代码行:
ListOfMyClass.OrderByDescending(x => x.DateCreated)
.Where(x => !x.Deleted).First();
我明白了
"Replace with single call to first warning"
我更愿意做,但不知道怎么做。
我希望能够说出具有最新创建日期且标记为未删除的项目。
哪里是学习这类查询的最佳地点,解决这个问题的最佳方法是什么,因为我更喜欢成为一名整洁的编码员。
最佳答案
你可以在没有where的情况下调用它:
ListOfMyClass.OrderByDescending(x => x.DateCreated).First(x => !x.Deleted);
First
也接受谓词。在这种情况下,你写 Where
和 First
还是只写 First
都没有关系,它被评估为同一个查询:) 但是 First
看起来更干净。
正如 Jeroen van Langen 所说,Where
比 First
稍快。所以我认为使用 Where.OrderByDescending.First
是迄今为止最好的解决方案。
关于c# - Linq 查询 - 整理/优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19111961/