如何检查项目是否等于数组中的任何项目?

时间:2013-02-18 18:18:51

标签: c# arrays

例如,如果我有int[5] array = {1, 2, 3, 4, 5}

int check = 5

有没有一种简单的方法可以检查if (check == any item in array)然后做点什么?

5 个答案:

答案 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.
}