如何检查2D数组的所有第一和第二个元素?

时间:2014-03-12 08:52:07

标签: c# arrays

我该怎么写这个N?

 int[,] spn = { { 3064, 22 }, { 3064, 16 }, { 3064, 11 } };

 if(spn[1, N] != 3064 && spn[N, 2] != 16 || spn[N, 2] != 16) 

spn [1,N]表示数组的所有第一项。 spn [N,2]表示数组的所有第二项。

2 个答案:

答案 0 :(得分:0)

您可以使用for循环(MSDN for (C# Reference)

迭代数组
      int[,] spn = { { 3064, 22 }, { 3064, 16 }, { 3064, 11 } };
      int helper = 2;
      for (var N = 0; N < spn.Length / helper; N++)
      {
          if (spn[N, 0] != 3064 && spn[N, 1] != 16 || spn[N, 1] != 16)
              System.Diagnostics.Debug.WriteLine("do something");
      }

由于数组只有绝对长度,因此可以在辅助变量中保存arrayelements的数量。这仅适用于具有相同长度的嵌套数组的样本。

答案 1 :(得分:0)

你可以简单地循环:

 bool result = true;
 for (int i = 0; i < spn.GetLength(0); i++)
 {
    if (spn[i, 1] != 16 || spn[i, 2] != 16)
    {
       result = false;
       break;
    }
 }

或者您可以使用Linq检查所有值:

bool result = Enumerable.Range(0, spn.GetLength(0)).All(i => spn[i, 1] != 16 || spn[i, 2] != 16);