我的老兄做奇怪的事情。 当我调试程序时,循环计数是在第4个循环等于0之后,然后再次开始。
如果我不调试程序,则会收到Stackoverflow-Exception。
for (int i = 0; i < gegnerischeFigurenn.Count; i++)
{
gegnerischeAngriffsfelderr.AddRange(GetAvailableFields(gegnerischeFigurenn[i], schachbrett));
Console.WriteLine("Count: " + i);
}
控制台输出为:
Count: 0
Count: 1
Count: 2
Count: 3
Count: 0
Count: 1
Count: 2
Count: 3
Count: 0
Count: 1 ......
如果我不调试程序,结果是堆栈溢出异常,否则计数的数字增量错误。
答案 0 :(得分:2)
这可能是因为您的方法是从自身内部调用自身(递归调用)。如果要在for循环中共享更多代码,这可能会有所帮助,但请检查方法中是否有引用其自身的地方。 link解释了堆栈溢出异常的发生方式,因此可能会对您有所帮助。