LINQ извлекает значения последовательности - PullRequest
0 голосов
/ 06 декабря 2018

В списке ниже представлен набор целых чисел.Мое требование состоит в том, чтобы вернуть значения последовательности, как первый 1,2,3,4,5.как только последовательность станет меньше или равна 1. выборка будет остановлена.Я мог бы использовать для цикла, чтобы сделать эту операцию, но мне нужно сделать это с помощью метода LINQ Extension.Спасибо

Если я прохожу 1, то результат должен быть как 1,2,3,4,5

Если я прохожу 2, то результат должен быть как 2,3,4,5

Если я пройду 3, то результат должен быть примерно 3,4,5

List<int> list=new List<int>();
list.Add(1);---------
list.Add(2);---------
list.Add(3);---------
list.Add(4);---------
list.Add(5);---------
list.Add(1);
list.Add(2);
list.Add(3);

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018
var result = list.TakeWhile((item, index) => item > list[0] || index == 0);
0 голосов
/ 06 декабря 2018

Вы можете просто использовать цикл:

List<int> list2 = new List<int>()
for(int i=0;i<list.Count;i++)
    if(i==0 || list[i]>list2[i-1])
        list2.Add(list[i]);
...