看板 C_Sharp 關於我們 聯絡資訊
※ 引述《stu87616 (以光為名)》之銘言: : 有個專案要做整數對應字串的程序, : 我原本是很笨的直接寫個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? : 我應該沒有理解錯誤吧ˊ_>ˋ Dictionary 這個東西 最主要的功能其實不是拿來取代 switch 的 它是拿來取代arraylist 這個東西的 Dictionary 最大的好處是在尋找物件的時候速度快 不管陣列大小 速度都是一樣的(印象中) 但是如果在陣列很小的情況下 優勢就不明顯 可能還會比較慢 有興趣的話 可以把項目加到100倍以上做測試 如果只是單純 要整數對應字串的話 也許直接用資源檔Resource 會方便一點(連程式都不用寫了XD) 但是效率的話就不保證了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.63.35.93
stu87616:原來是這樣 我現在寫的專案都還太小 沒考慮那麼多XD 10/30 14:28