Find next record in a set: LINQ

后端 未结 3 1658
遇见更好的自我
遇见更好的自我 2020-12-29 09:27

I have a list of objects which all have an id property

E.g

1, 10, 25, 30, 4

I have a currentId and I need to find the next Id in the list

So

3条回答
  •  梦谈多话
    2020-12-29 09:36

    Without re-ordering (note I edit slightly as I think I misread the question):

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

    Obviously, if data was a set of objects, something like:

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

提交回复
热议问题