for 和 if 循环的 Linq 实现



下面的这个代码片段检查eCode(整数)是否等于list1<int>中的任何元素,如果是,它就会做一些事情。我的问题如下..LINQ 的实现是什么?我是 C# 和 Linq 的新手,不知道如何继续。

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

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

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

这实际上与斯蒂芬肯尼迪的答案相同,但我有时喜欢这种语法。通常用于更复杂的事情,但仍然:

foreach (var item in from l in list1
                     where l == eCode
                     select l)
{
    // Do something with each item
}

我认为下面的代码片段就是您要找的:

List<int> i = new List<int>() { 1, 2, 3 };
int eCode = 3;
bool result = i.Any(x => x == eCode);

这是使用 LINQ 扩展方法,而不是实际的 LINQ。

if (list1.Any(i => i == eCode))
{
    // do something
}

相关内容

  • 没有找到相关文章

最新更新