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);
您还可以添加预期的输出 –