在LINQ列表中搜索部分内容

Akr*_*rem 1 c# linq

我想知道是否有从一个特定的搜索方式指数LINQ

这就是我想要做的例子:

 //search after the 4th element if exist any true
     bool result = myList.Any(a=>a.flagTodo) 
// in my case I want to do like:  myList.where(a=>a.index >4).Any(a=>a.flagTodo)
Run Code Online (Sandbox Code Playgroud)

有没有办法在同一个linq中做到这一点?

Ser*_*kiy 5

您可以使用Enumerable.Skip按顺序绕过指定数量的元素:

bool result = myList.Skip(4).Any(a => a.flagTodo);
Run Code Online (Sandbox Code Playgroud)

顺便说一句, 您不需要验证列表长度 - 如果少于4个项目,结果将为false - Skip(4)将返回空序列.并Any返回false因为序列中的元素都不满足条件(序列为空).