Linq实现for和if循环

spa*_*a93 0 .net c# linq loops

下面的代码片段检查eCode(整数)是否等于其中的任何元素list1<int>,如果是,则执行某些操作.我的问题如下......这将是一个linq实现的内容?我是C#和Linq的新手,不知道如何继续.

for (int i = 0; i < list1.Count; i++)
{
    if (list1[i] == eCode)
    {
       // do something
    }
}
Run Code Online (Sandbox Code Playgroud)

Ste*_*edy 6

您可以保留循环但将条件语句转换为LINQ Where子句:

foreach (var item in list1.Where(l => l == eCode))
{
    // Do something with each item
}
Run Code Online (Sandbox Code Playgroud)

  • 他不是在查看它,他正在使用索引获取值然后进行比较 - 除非我误读了发布的代码,这是完全可能的!list1 [i]返回该列表项的值. (2认同)
  • 好吧,也许我正在阅读使用`for`循环,然后索引`i`.我在想,"如果索引没关系,那么这只是一个'foreach`循环,因此索引*必须*重要!".然而,当然,问题可能仅仅是提问者不知道更好的方式.我确定你是对的,所以我投了赞成票. (2认同)