C# 如何在列表中从一个特定的索引到最后找到一个元素?

C# 如何在列表中从一个特定的索引到最后找到一个元素?,c#,linq,C#,Linq,如何在从特定元素开始的类型列表中搜索元素 我可以使用for循环实现相同的功能,如下所示: bool found = false; for(int i=counter+1;i<=lstTags.Count()-1;i++) { if (lstTags[i].PlateFormID == plateFormID) { found = true; break; } } 您可以使用: 这将过滤掉第一个startInd

如何在从特定元素开始的类型列表中搜索元素

我可以使用for循环实现相同的功能,如下所示:

bool found = false;
for(int i=counter+1;i<=lstTags.Count()-1;i++)
   {
    if (lstTags[i].PlateFormID == plateFormID)
      {
        found = true;
        break;
       }
    }
您可以使用:

这将过滤掉第一个startIndex元素,然后在过滤后的枚举中找到第一个匹配的PlateFormID

您可以使用:

这将过滤掉第一个startIndex元素,然后在过滤后的枚举中找到第一个匹配的PlateFormID

您可以使用Whereobj,index=>yourLogic

代码:

PS

索引以0开头 您可以使用Whereobj,index=>yourLogic

代码:

PS

索引以0开头
如果高效意味着要编写的代码更少,那么就继续使用linq。如果您想让它更快,那么您的循环可能是一条路要走。如果高效意味着要编写的代码更少,那么继续使用linq。如果你想让它更快,你的循环可能是一条路要走。
var nextItem=lstTags.FirstOrDefault(a=>a.PlateFormID==plateFormID, startIndex); 
var nextItem = lstTags.Skip(startIndex).FirstOrDefault(a => a.PlateFormID == plateFormID);
var nextItem=lstTags.Where((a,index) => a.PlateFormID==plateFormID && index > startIndex ).FirstOrDefault(); 
var datas = new[] { "item1","item2","item3"};
var data = datas.Where((obj,index) => index>1 ).FirstOrDefault(); //item3