如何在从整数数组创建的列表中使用 ANY?

How to use ANY on list, created from integer's array?

如何使用 LINQ 的 Contains() 或 Any() 函数检查如下所示的数组或列表是否包含给定值?

这是我的代码:

int[] array3 = { 1, 2, 3, 4, 5, 6 };
List<int> tyest = array3.ToList<int>();
if (tyest.Any(2)) { 

}

Any 在 In-Memory 集合上执行时接受 Func<T, bool> 作为参数:

if(array3.Any(x=> x == 2))

或者

if(tyest.Any(x=> x == 2))

备注:

  • 您无需转换为列表即可使用 Any,它适用于任何 IEnumerable<T>(这包括通用数组和通用列表)。

了解 lambda:

(x) => x == 2

相当于:

private bool filterFunction(int x)
{
   return x == 2;
}

Any Linq 扩展方法循环遍历 IEnumerable 的所有元素并对每个元素执行 lambda 函数,如果它在执行此操作时找到一个 returns 为真的元素函数,则 Any returns 为真,否则为 returns 假;

使用 any 需要一个表达式,它可以检查给定数组中的每个元素,试试这个...

if (tyest.Any(i => i == 2)) { 

}

.. 这通过 运行 Any() 中的表达式对每个元素起作用,直到它找到一个导致 "i == 2" 为真的表达式。