[問題] 關於Queue.Count==0的判斷問題已刪文

看板C_Sharp作者 (快特研替Kimi)時間13年前 (2011/08/31 10:52), 編輯推噓2(208)
留言10則, 3人參與, 最新討論串1/2 (看更多)
有個問題一直卡住想請教版上熱心的先進 假設我的Queue有100筆 我每次要取出30筆 1-30 31-60 61-90 91-100 ^^^^^^當迴圈處理到取出第11筆時 Queue中沒有資料了會出現問題 故我加了一個判斷temp.count==0 結果跳出後 只印出Start & End這兩行 我看不見now peek= Dequeue-> 請問我該如何做呢?? 程式碼如下: Queue<int> temp = new Queue<int>(); richTextBox1.AppendText("Start Frequency output" + "\n"); for (int j = 0; j < 4; j++) { if (temp.Count == 0) { for (int i = 0; i < 30; i++) { richTextBox1.AppendText("now peek= " + Convert.ToString(temp.Peek()) + "\n"); richTextBox1.AppendText("Dequeue->" + temp.Dequeue() + "\n"); } richTextBox1.AppendText("now peek= " + Convert.ToString(temp.Peek()) + "\n"); } } richTextBox1.AppendText("Start Frequency output End" + "\n"); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.146.10.115

08/31 11:06, , 1F
if (temp.Count == 0)
08/31 11:06, 1F

08/31 11:06, , 2F
temp.Dequeue()
08/31 11:06, 2F

08/31 11:08, , 3F
if在做什麼判斷 跟 i<30與temp.Dequeue()搭配使用
08/31 11:08, 3F

08/31 11:08, , 4F
再檢查一下.
08/31 11:08, 4F

08/31 11:20, , 5F
謝謝ericinttu!!後來我用try catch把例外處理掉了XDD
08/31 11:20, 5F

08/31 13:33, , 6F
基本上, 我是認為這段程式的手法, 邏輯處理上有重大瑕疵
08/31 13:33, 6F

08/31 14:49, , 7F
可否說明白些,不明白您的意思
08/31 14:49, 7F

08/31 23:22, , 8F
第一次看到這麼多peek...Dequeue...如果你知道peek是啥意
08/31 23:22, 8F

08/31 23:23, , 9F
思,Dequeue是啥意思 理論上一個迴圈不應該會有多個peek?
08/31 23:23, 9F

09/01 11:11, , 10F
謝謝hatasum的說明^^
09/01 11:11, 10F
文章代碼(AID): #1ENQ7wlh (C_Sharp)
文章代碼(AID): #1ENQ7wlh (C_Sharp)