大家好,谁能帮我调试一下这个,我找不到原因

mohugomohu 2010-01-19 09:05:09
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次就退出,这样就没错。
这是为什么?
...全文
115 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
烈火蜓蜻 2010-01-19
  • 打赏
  • 举报
回复
[Quote=引用楼主 mohugomohu 的回复:]
http://www.cnshxh.cn/调试中的程序.rar

我在学数据结构,想弄一下迷宫算法。
C# code//开始寻找publicvoid 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次就退出,这样就没错。
这是为什么?
[/Quote]

在休眠的时候,你把UI的线程也给休眠了,所以导致界面假死现象。 你单独开一个线程来处理就OK了
Justin-Liu 2010-01-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 mohugomohu 的回复:]
哦,我新开一个线程就行了,疏忽了
[/Quote]
....................
mngzilin 2010-01-19
  • 打赏
  • 举报
回复
mohugomohu 2010-01-19
  • 打赏
  • 举报
回复
哦,我新开一个线程就行了,疏忽了
Justin-Liu 2010-01-19
  • 打赏
  • 举报
回复
死循环挂了 一直没success
m_struggle 2010-01-19
  • 打赏
  • 举报
回复
估计就是死循环了、
zishanyan 2010-01-19
  • 打赏
  • 举报
回复
很可能是死循环引起的,LZ确认一下IsSuccess()中的判断逻辑
cjnkd 2010-01-19
  • 打赏
  • 举报
回复
IsSuccess()中是什么内容,返回值一直是true吧,road.Count的值有改变吗?代码给出太少。
wiki14 2010-01-19
  • 打赏
  • 举报
回复
true.= =前面还个!
wiki14 2010-01-19
  • 打赏
  • 举报
回复
IsSuccess()返回的一直是false吧?

导致程序进入死循环。
Calm2049 2010-01-19
  • 打赏
  • 举报
回复
数据结构 god

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧