c# - 使用多个 IF 构建 FOR 循环并使其仅在某些运行中停止

标签 c# arrays loops for-loop

我有一个二维数组,它的一些成员是数字(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;
}

问题是:break 从 FOR 循环中跳出,而不是仅从 if 中跳出,我想不出如何检查下一个 playerID,也想不出如何最好地存储结果每个播放器供以后显示。

最佳答案

首先,如果你想让它工作,你不能依赖缩进——你需要大括号:

        if (checkA == 0)
            continue;
        else
        {
            Console.WriteLine(p + "completed check A");
            break;
        }

这将解决您立即出现的循环立即爆发的问题。

话虽如此,鉴于上述检查,您永远不会检查 B。我怀疑您想要反转您的逻辑,因此:

        if (checkA != 0)
        {
            Console.WriteLine(p + "completed check A");
            break;
        }

这将导致 checkA 运行,然后运行 ​​checkB,等等。

关于c# - 使用多个 IF 构建 FOR 循环并使其仅在某些运行中停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8479236/

相关文章:

php - 循环数据库中的特定记录并显示结果 - PHP

PHP随机行帮助

c# - WebRequest 无法正确下载大文件(~ 1 GB)

ruby:数组中所有元素的索引小于给定值

javascript - 如何按照数组元素的顺序从数组创建对象

c - 在 C 中,声明一个二维字符数组或一个参差不齐的字符串数组是否更节省空间? (具体问题如下)

python - python mako 模板是否支持循环上下文中的 connitue/break?

c# - 使用 USB 条码扫描仪读取条码并忽略键盘数据输入,而扫描仪产品 ID 和供应商 ID 未知

c# - 使用三元运算符而不是 IF THEN 有什么意义?

C# 对特定属性求和对象列表