如果我有一个项目列表,并且说“id”是唯一的,但不一定是顺序的,有没有办法在列表或 IEnumerable 中找到前一个实体?
所以我可能有一个人的列表,他们每个人都有一个 ID,并且他们按照我不知道的顺序排序。我得到的只是人员的列表和 ID。
现在我需要让以前的人知道提供给我的 ID。
是否有一个很好的 LINQ 方法来执行此操作,或者我只是找到记录并在 ForEach 中获取前一个记录?
编辑 我刚发现这个,这是最好的方法吗?
最佳答案
我想你需要这个
items.TakeWhile(x => x.id != id).LastOrDefault();
Enumerable.TakeWhile
只要指定条件为真,该方法就返回序列中的元素,然后跳过其余元素。- 我们从中获取最后一个或
default
。
关于c# - 使用 LINQ 将以前的记录获取到当前记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17227794/