C# Queue的入队 出队问题

betty 2011-04-14 09:00:45

private void OnTimedEvent(object source,ElapsedEventArgs e)
{
CheckAndOverBlock();
Down();
#region[Input the Information]
// recordInfo.(runBlock, readyBlock);
Block run = new Block();
Block ready = new Block();
run = runBlock;
ready = readyBlock;
recordInfo.temp = new Node(run, ready);

recordInfo.queue.Enqueue(recordInfo.temp);
Console.WriteLine("push "+runBlock.YPos.ToString());
#endregion
}

。。。。。。。。。。。。。。。。

private void OnTimedEventReplay(object source, ElapsedEventArgs e)
{
runBlock = (recordInfo.queue.Dequeue()).runBlock;

runBlock.Paint(draw);
//runBlock.erase(draw);
if (recordInfo.queue.Count <= 0)
{
timer.Close();
draw.Dispose();
tip.Dispose();
}
Console.WriteLine("11" + runBlock.YPos.ToString() + " " + recordInfo.queue.Count.ToString());
}
...全文
371 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
betty 2011-04-14
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 huhil2003 的回复:]

对了,我也去用用那个克隆方法Clone()
[/Quote]
嗯 !挺好用的。。。http://http://blog.csdn.net/Betty_Ting/archive/2011/04/14/6324504.aspx 这个是我今天遇到问题的整理 希望对你有帮助!!
huhil2003 2011-04-14
  • 打赏
  • 举报
回复
对了,我也去用用那个克隆方法Clone()
huhil2003 2011-04-14
  • 打赏
  • 举报
回复
哦,不过,还是有些没懂,估计是没涉及到这块吧,呵呵,对了,你用过ArrayList没有,我发现这个东东只能进,取不出来,郁闷!
子夜__ 2011-04-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 betty_ting 的回复:]

引用 3 楼 peter200694013 的回复:

自问自答啊

刚才不懂哇 就问了 但是木有人回呀 后来发现解决方案了 就贴上来了 这样便于其他人呀!
[/Quote]
betty 2011-04-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 peter200694013 的回复:]

自问自答啊
[/Quote]
刚才不懂哇 就问了 但是木有人回呀 后来发现解决方案了 就贴上来了 这样便于其他人呀!
Peter200694013 2011-04-14
  • 打赏
  • 举报
回复
自问自答啊
betty 2011-04-14
  • 打赏
  • 举报
回复
出错原因果然是因为 地址问题。。。。。
采用clone()函数可以解决。。。。
betty 2011-04-14
  • 打赏
  • 举报
回复
如上图的代码所示。。。
开始时想将每个节点信息入队,然后在将每个节点出队。。。。。
但是悲剧的是,偶发现,每次入队时是不同的Node信息,出队时却是一样的Node。。。。
我怀疑是因为所有节点的地址是一样的,最后将之前入队的节点信息都给改了。。。。
希望哪位高手帮忙解决下。。。。

111,125

社区成员

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

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

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