2014-03-12 100 views
0

我應該如何寫這個N?如何檢查2D數組的所有第一個和第二個元素?

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]表示數組的所有第二項。

+1

您還可以添加預期的輸出 –

回答

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的數量,這僅適用於與樣品同樣長度的嵌套數組

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); 
相關問題