程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 警惕Dictionary和SortedDictionary的順序陷阱

警惕Dictionary和SortedDictionary的順序陷阱

編輯:C#入門知識

/*
我們查詢資料得知Dictionary的遍歷順序和添加Add時的順序是一致的,不像 HashTable 順序不可知;於是我要依賴Dictionary的這種順序一致特性做一個,固定大小400長度的隊列,如果超過400個元素就Remove刪除掉老的數 據,保留新的數據;我為什麼不用隊列Queue因為它沒有ContainsKey鍵查找功能,因為我需要用鍵來去重.
       當我的程序運行一段時間後發生邏輯問題 ,本來我的程序邏輯是超是400後刪除Remove最添加的老數據,但是刪除的卻是最後添加的新數據,當遍歷的時候順序打亂了,並不是添加的程序,經測試發現字典對象並不能一定保持程序一致,一個使用Remove順序一致性將得不到保證,經測試
*/




SortedDictionary<, > testdict = SortedDictionary<, >, , , , (KeyValuePair<, > kv <, > testdict = Dictionary<, >, , , , (KeyValuePair<, > kv

 

 

 

 


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved