gpt4 book ai didi

c# - 在集合 : LINQ 中查找下一条记录

转载 作者:可可西里 更新时间:2023-11-01 07:50:05 24 4
gpt4 key购买 nike

我有一个对象列表,它们都有一个 id 属性

例如

1, 10, 25, 30, 4

我有一个 currentId,我需要在列表中找到下一个 Id

因此,例如当前 Id 设置为 25,我需要返回 id 为 30 的对象。之后的对象将是 4。

我如何在 LINQ 中优雅地执行此操作?

编辑

列表按“排序”属性排序。所以你不能只按 id 排序,因为那样会弄乱顺序。

最佳答案

无需重新排序(请注意,我稍微编辑了一下,因为我认为我误读了问题):

int[] data = {1, 10, 25, 30, 4};
int last = 25;
var next = data.SkipWhile(i => i != last).Skip(1).First();

显然,如果 data 是一组对象,则类似于:

var next = data.SkipWhile(obj => obj.Id != last).Skip(1).First();

关于c# - 在集合 : LINQ 中查找下一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1333709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com