LINQ 获取序列值

LINQ fetching sequence values

下面的列表提供了一个整数集合。我的要求是 return 序列值像第一个 1,2,3,4,5。一旦序列小于或等于 1,将停止获取。我可以使用 for 循环来执行此操作,但我需要使用 LINQ 扩展方法来执行此操作。谢谢

如果我传递 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);

你可以简单地使用一个循环:

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]);
var result = list.TakeWhile((item, index) => item > list[0] || index == 0);