Linq C#- 获取集合中的上一个元素

本文关键字:上一个 元素 集合 C#- 获取 Linq | 更新日期: 2023-09-27 18:34:57

任何人都可以建议查询以获取 LINQ 中集合中的先前记录。

我已经写了下面的内容来获取下一页,效果很好。但是我无法获取列表的上一个元素。

menu = _applicationContext.RightMenu.FirstOrDefault(x => x.PageOrder > currentPageNo);

在使用时

menu = _applicationContext.RightMenu.FirstOrDefault(x => x.PageOrder < currentPageNo);

它只显示集合中的第一个元素,而不显示前面的元素。

Linq C#- 获取集合中的上一个元素

假设RightMenu是升序PageOrder,你想要最后一项小于currentPage。 您需要将第二行的.FirstOrDefault()更改为.LastOrDefault()

这样做:

menu = _applicationContext.RightMenu.LastOrDefault(x => x.PageOrder < currentPageNo);

这是获取前一个元素的另一种方法:

menu = _applicationContext.RightMenu.FirstOrDefault(x => x.PageOrder == (currentPageNo-1));