for-loop - 具有意外输出的嵌套 for 循环
问题描述
我正在使用嵌套的 for 循环来遍历 2D 数组。我正在检查二维数组中的值是 0 还是 1。如果是 0,我们重新启动内部 for 循环,直到遇到 j = values.GetLenght(1)。如果它是 1,我们继续循环并且 debug.writeline 被触发。
private bool checkCollided(int sides, int bottom, int[,] values)
{
Rectangle rectangle;
int row = 0;
int col = 0;
for (int i = 0; i < values.GetLength(0); i++)
{
for (int j = 0; j < values.GetLength(1); j++)
{
if (values[i, j] != 1) continue;
Debug.WriteLine("1 or 0 from index: " + i + " " + j + " " + values[i, j]);
}
}
return null;
}
现在让我们说 int[,] values 等于这个二维数组:
1,1
1,1
预期的输出将是 writeline 函数的 4 倍,在 2D 数组中找到的每个 1 对应 1。问题是,通过使用这段代码,我得到了正确的输出,但是是 3 次而不是 1 次。
谁能向我解释为什么它会触发正确的索引,但是 3 次?
解决方案
推荐阅读
- javascript - 如何在下降时将实时值颜色更改为绿色,下降时更改为红色?
- php - 在 php 表中显示 YES 或 NO 而不是 1 和 0
- python - 导入quandl数据查询
- java - 如何对字母表添加值进行简单的加密?
- python - 如何将变量赋予具有默认值的python函数
- javascript - javascript onclick表单功能
- tinymce - 如何在突出显示部分自定义与文本颜色不同的颜色?
- android - 无法应用插件 [id 'com.android.internal.library']
- r - Rscript 使用 renv 环境
- javascript - 如何返回从回调中解决的承诺