[問題] Dictionary的效能請益

看板C_Sharp (C#)作者 (以光為名)時間12年前 (2012/10/26 21:19), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/3 (看更多)
有個專案要做整數對應字串的程序, 我原本是很笨的直接寫個switch讓數字下去跑, 後來教授跟我提過可以試試看用Dictionary, 我才去查了一下這個結構是怎麼用的 寫了一個很簡單的Dictionary(只取對應的功能) Dictionary <int, string> Dic = new Dictionary<int, string>(); private String Find(int num) { if (Dic.ContainsKey(num)) return Dic[num]; else return "Not Found"; } 應該夠簡單了,只是我用這個結構下去跑我原本的判斷式, 作用正常,但效能大概低了一倍左右... 雖然也只是兩毫秒之內的差距而已, 不過...因為我一直都是很不喜歡用switch寫一長串的人, 很期待有個東西可以取代它,結果這個新玩意讓我失望了T_T 所以,Dictionary的長處就是可以自由增加這點了嗎? 比對速度上反而還是輸給老牌的switch? 我應該沒有理解錯誤吧ˊ_>ˋ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.163.70.99 ※ 編輯: stu87616 來自: 1.163.70.99 (10/26 21:20)

10/26 22:00, , 1F
如果想比較效能可以參考http://bit.ly/VMMLn6
10/26 22:00, 1F
文章代碼(AID): #1GYety7E (C_Sharp)
文章代碼(AID): #1GYety7E (C_Sharp)