我的c#代码有点问题。
我有一个while循环:
{{1}}
所有变量都有值,但由于某种原因它不会进入while。
我暂时休息一下,看到父属性不是null,但它只是跳过整个时间。
任何想法为什么?或者我如何修改它来工作?
答案 0 :(得分:2)
因为current.parent
开头为空。
可能是因为current
是你树中最顶层的,即没有孩子。 (或者你想称之为什么)
你问题中的代码非常含糊,但我想只是使用
solution.Add(current.move);
while(current.parent != null)
{
current = current.parent;
solution.Add(current.move);
}
可能会有所帮助。
这可以解决您遇到的实际问题(除了不知道如何使用调试器之外;)
所以在这里你总是记录当前的移动,然后记录任何父移动。
也许看看用do..while循环重构这个!!
答案 1 :(得分:0)
在看到树中的每个节点都有一个空值(但节点的属性不是)之后,我改变了所有内容以使用Node的属性,最终起作用。
谢谢你们=)