http://www.cnshxh.cn/调试中的程序.rar我在学数据结构,想弄一下迷宫算法。
        //开始寻找
        public void Track()
        {
            FootPrint foot = new FootPrint(0, 0);
            do
            {
                foot = this.GetNext(foot);
                road.Add(foot);
                Thread.Sleep(1000);
                //if (road.Count > 5)
                //{
                //    break;
                //}
            } while (!IsSuccess());
        }
上面这个方法本意是一直循环(循环一次隔1秒),但是运行的时候程序却挂掉了,界面都不出来。
注释的那几行,意思是循环了5次就退出,这样就没错。
这是为什么?

解决方案 »

  1.   

    IsSuccess()返回的一直是false吧?导致程序进入死循环。
      

  2.   

    IsSuccess()中是什么内容,返回值一直是true吧,road.Count的值有改变吗?代码给出太少。
      

  3.   

    很可能是死循环引起的,LZ确认一下IsSuccess()中的判断逻辑
      

  4.   


    在休眠的时候,你把UI的线程也给休眠了,所以导致界面假死现象。 你单独开一个线程来处理就OK了