例如,如果我有一个int[5] array = {1, 2, 3, 4, 5}
和int check = 5
有没有一种简单的方法来检查if (check == any item in array)
然后做某事?
只需使用Contains
LINQ 方法。您需要添加using System.Linq
才能访问该方法。
if(array.Contains(5))
{
//TODO do stuff
}
你可以使用Enumerable.Contains()
方法。true
如果源序列包含具有指定值的元素,则此方法返回;否则,false
。
使用默认相等比较器确定序列是否包含指定元素。
int[] array = {1, 2, 3, 4, 5};
if(array.Contains(5))
{
Console.WriteLine("Array has an element called 5");
}
这是一个演示。
不要忘记添加System.Linq
命名空间。
注意:方法的积极方面,Contains()
只要找到匹配的元素,枚举就会终止。如果您搜索类似的元素;
foreach(var i in array)
{
if(i == 5)
///
}
您必须枚举数组中的所有元素。我认为这是这种情况下这种方法的最大好处。
if (array.Contains(check))
{
//code
}
你可以说:
array.Contains(check)
你可以试试这段代码:
int[] array = { 1, 2, 3, 3, 5 };
int check = 5;
int r = Array.Find<int>(array, (arr => arr == check));
if (r != 0)
{
// then do something.
}