2

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

int check = 5

有没有一种简单的方法来检查if (check == any item in array)然后做某事?

4

5 回答 5

12

只需使用ContainsLINQ 方法。您需要添加using System.Linq才能访问该方法。

if(array.Contains(5))
{
    //TODO do stuff
}
于 2013-02-18T18:19:39.290 回答
2

你可以使用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)
  ///
}

您必须枚举数组中的所有元素。我认为这是这种情况下这种方法的最大好处。

于 2013-02-18T18:20:24.057 回答
1
if (array.Contains(check))
{
    //code
}
于 2013-02-18T18:20:23.950 回答
1

你可以说:

array.Contains(check)
于 2013-02-18T18:21:17.593 回答
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.
}
于 2013-02-18T18:45:55.440 回答