在数组中搜索特定数字的特定索引

时间:2012-11-05 14:30:45

标签: c# arrays winforms indexing

您好有办法在C#中检查特定数字的特定整数数组索引;例如,我希望工作的将是:

    if(si[6] || si[7] || si[8] == 3)
     {
      MessageBox.Show("3 detected")
     }
    else
    {
     continue();
    {

显然这不起作用。有干净的方法吗?谢谢你的期待。

4 个答案:

答案 0 :(得分:10)

var indexes = new int[] {6, 7, 8};
if (indexes.Any(i => si[i] == 3))
{
    MessageBox.Show("3 detected")
}

答案 1 :(得分:5)

最简单的是进行三次单独的检查:

if (si[6] == 3 || si[7] == 3 || si[8] == 3)

答案 2 :(得分:1)

你可以使用带参数的方法做一点整洁:

public static bool HasValue(int value, params int[] itemsToCheck)
{
    bool valueDetected = false;
    foreach(var item in itemsToCheck)
    {
        valueDetected |= item == value;
    }

    return valueDetected;
}

然后你就可以这样称呼它:

if (HasValue(3, si[6], si[7], si[8]))
{

}

答案 3 :(得分:1)

您可以使用Array.IndexOf函数查找整数的索引。如果array有整数,那么它将返回索引,否则它将返回-1。

喜欢这个             int [] a = new int [] {1,2};             int c = Array.IndexOf(a,2);