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

时间:2016-08-13 12:52:02

标签: c# arrays list any

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

这是我的代码:

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

}

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;