C# 使用LINQ将以前的记录获取到当前记录
如果我有一个项目列表,并且说“id”是唯一的,但不一定是连续的,那么有没有办法在列表或IEnumerable中找到前面的实体 因此,我可能有一个人员列表,他们每个人都有一个id,并且按照我不知道的顺序进行排序。我得到的只是名单和那个人的身份证 现在我需要让前一个人获得提供给我的id 有没有一种很好的LINQ方法可以做到这一点,或者我只是简单地找到记录并在ForEach中获取上一条记录 编辑 我刚发现这个,这是最好的方法吗 我想你需要这个C# 使用LINQ将以前的记录获取到当前记录,c#,linq,C#,Linq,如果我有一个项目列表,并且说“id”是唯一的,但不一定是连续的,那么有没有办法在列表或IEnumerable中找到前面的实体 因此,我可能有一个人员列表,他们每个人都有一个id,并且按照我不知道的顺序进行排序。我得到的只是名单和那个人的身份证 现在我需要让前一个人获得提供给我的id 有没有一种很好的LINQ方法可以做到这一点,或者我只是简单地找到记录并在ForEach中获取上一条记录 编辑 我刚发现这个,这是最好的方法吗 我想你需要这个 items.TakeWhile(x => x.id
items.TakeWhile(x => x.id != id).LastOrDefault();
方法返回序列中的元素,只要指定的条件为true,然后跳过其余元素Enumerable.TakeWhile
- 我们从中获取最后一个或
默认值