使用LINQ获取当前记录

gri*_*egs 5 c# linq

如果我有一个项目列表,并说"id"是唯一的,但不一定是顺序的,有没有办法找到前面的实体说List或IEnumerable?

所以我可能有一个人的列表,他们每个人都有一个id,他们按照我不知道的顺序排序.我得到的只是列表和人的身份.

现在我需要让前一个人获得提供给我的身份证.

有没有一个很好的LINQ方法来做这个或我只是找到记录并获得ForEach中的前一个?

编辑 我刚发现这个,这是最好的方法吗?

使用LINQ计算与上一项的差异

Bhu*_*ake 14

我想你需要这个

 items.TakeWhile(x => x.id != id).LastOrDefault();
Run Code Online (Sandbox Code Playgroud)
  • Enumerable.TakeWhile 只要指定的条件为true,Method就会返回序列中的元素,然后跳过其余元素.
  • 我们采取最后一个或default从它.