下面的列表提供了整数的集合。我的要求是要返回序列值,例如前1,2,3,4,5。一旦序列小于或等于1.,将停止提取。我可以使用for循环来执行此操作,但是我需要使用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);
答案 0 :(得分:3)
var result = list.TakeWhile((item, index) => item > list[0] || index == 0);
答案 1 :(得分:0)
您可以简单地使用循环:
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]);