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