如何使用LINQ的Contains()或Any()函数检查下面显示的数组或列表是否包含给定值?
这是我的代码:
int[] array3 = { 1, 2, 3, 4, 5, 6 };
List<int> tyest = array3.ToList<int>();
if (tyest.Any(2)) {
}
答案 0 :(得分:6)
使用any需要一个表达式,它可以检查给定数组中的每个元素,试试这个......
if (tyest.Any(i => i == 2)) {
}
..这可以通过在Any()中对每个元素运行表达式,直到找到一个导致“i == 2”为真的表达式。
答案 1 :(得分:3)
Any
接受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函数,如果它找到一个在执行此函数时返回true的元素,则Any
1}}返回true,否则返回false;