【问题标题】:Nested For loop not printing嵌套的 For 循环不打印
【发布时间】:2019-02-27 13:44:15
【问题描述】:

我正在编写一个嵌套的 for 循环来填充一个多维数组并且遇到了,不一定是问题,而是一个难题。首先,我将解释代码执行我想要执行的操作,即用某些东西完全填充多维数组;现在是数字 1。当我在 for 循环内有一个“print()”函数时,我遇到了难题。清除我在 Unity 中编码 c# 的内容。

static int[,] array;
array = new int[5,5];

for(int x = 0; x < 5; x++){
    print("outer: " + x);

    for (int y = 0; y < 5; y++){
        print("-inner: " + y);
        array [x, y] = 1;
    }
}

输出是:

outer: 0
-inner: 0
-inner: 1
-inner: 2
-inner: 3
-inner: 4
outer: 1
outer: 2
outer: 3
outer: 4

当在 for 循环之外我直接尝试打印如下内容时,它不会在任何外部之间打印内部:

print("data: " + array[2,3]);

它输出:

data: 1

所以它清楚地使用嵌套的 for 循环填充数组,但它不会在每次在嵌套的 for 循环中迭代时打印出我的字符串。这是有原因的吗?

【问题讨论】:

  • 当我将print 替换为Console.WriteLine(并从数组定义中删除static 并将所有代码放入Main)时,您的代码对我来说很好。您能否发布一个完整的、最小的示例来重现该问题?
  • 如果是 Unity 而不是 print 尝试使用 Debug.Log()
  • 不是我的代码不行。它做它被创建的目的。它填充一个多维数组。我遇到的问题是为什么它能够填充多维数组但它不会在 y 的每次迭代中重复打印函数。这仅在 Unity 内部。这是我的难题。
  • 此外,derHugo,Debug.Log("test") 也只运行一次,并且每次迭代都不会再次运行。 (抱歉重复发布无法编辑我的消息)

标签: c# unity3d nested-loops


【解决方案1】:

这与 for 循环或其他编码无关!只需从 Unity 编辑器的“控制台”中禁用“折叠”选项,就可以了。

如果您启用它,它只会打印每条唯一消息一次,右侧的计数器会指示它打印的次数。

【讨论】:

  • 嗯...我在谷歌上搜索了 5 个小时,但从未找到答案。我从来没有想过崩溃会阻止它显示它打印了多少次。我假设崩溃只是折叠了所有重复的错误而不是所有内容。 >.
猜你喜欢
  • 1970-01-01
  • 2012-09-14
  • 1970-01-01
  • 2018-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
相关资源
最近更新 更多