jon*_*atr 1 c# arrays loops for-loop
我有一个2D数组,其中一些成员是数字(playerID -1,2,3,4等),其余为零.
我想创建一个包含各种检查方法的for循环,这些方法通过循环并返回一个答案.对检查进行排序,以便当其中一个较高的检查返回TRUE时,该playerID的循环可以终止.后来我想使用检查结果来比较玩家,但首先是第一件事 - 我无法让大型FOR循环运行.
我记得这样的事情:
for (int playerID = 1; playerID <= participants; playerID++)
{
checkA = Check4forsequenceof4(matrix); //method A
if (checkA == 0)
continue;
else
Console.WriteLine(p + "completed check A");
break;
if (checkB == 0)
continue;
else
Console.WriteLine(p + "completed check B");
break;
if (checkC == 0)
continue;
else
Console.WriteLine(p + "completed check C");
break;
}
Run Code Online (Sandbox Code Playgroud)
问题是:休息突破了FOR循环,而不仅仅是if,我想不出如何检查下一个playerID,也无法弄清楚如何最好地存储每个玩家的结果以后显示.
首先,如果你想做这个工作,你不能依靠缩进 - 你需要大括号:
if (checkA == 0)
continue;
else
{
Console.WriteLine(p + "completed check A");
break;
}
Run Code Online (Sandbox Code Playgroud)
这将解决您的循环立即爆发的直接问题.
话虽如此,鉴于上述检查,你永远不会检查B.我怀疑你想要反转你的逻辑,因为:
if (checkA != 0)
{
Console.WriteLine(p + "completed check A");
break;
}
Run Code Online (Sandbox Code Playgroud)
这将导致checkA运行,然后checkB等.