Get previous/next item of a given item in a List<>

后端 未结 11 1416
余生分开走
余生分开走 2021-02-12 03:18

Says I have this List : 1, 3, 5, 7, 9, 13

For example, given value is : 9, the previous item is 7 and the next item is 13

How can I achieve this using C#?

11条回答
  •  耶瑟儿~
    2021-02-12 04:17

    Also if you want compact solution with circular logic without creating new list you can use following code:

    int nextNumber = list[(list.IndexOf(currentNumber) + 1) % list.Count];
    int previousNumber = list[(list.IndexOf(currentNumber) - 1 + list.Count) % list.Count];
    

    https://dotnetfiddle.net/PkP2Jy

提交回复
热议问题