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]表示數組的所有第二項。
我應該如何寫這個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]表示數組的所有第二項。
你可以用一個陣列上迭代的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的數量,這僅適用於與樣品同樣長度的嵌套數組
你行你簡單的循環:
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);
您還可以添加預期的輸出 –