之前看過其他關於dictionary的key如何保證唯一的文章,大多的意思是根據記憶體的位址來確定,有一次的專案中,我以自定義的attribute作為key來儲存時發現,具有不同值的attribute作為key插入到dictionary時覆蓋了其他的物件。
經過debug,發現,被覆蓋的物件有乙個特性:1、tostring返回值相同。2、也是最重要的,hashcode值相同。
所以我嘗試override tostring和gethashcode方法,重寫debug,發現成功了。
我得出結論,dictionary的key根據記憶體位址來確定的確實是沒有錯的,因為hashcode本生也是具有字串唯一的特性。
Dictionary的基本用法
1.建立泛型雜湊表,然後加入元素 dictionary string string openwith newdictionary string string openwith.add txt notepad.exe openwith.add bmp paint.exe openwith.add di...
關於dictionary的操作
一 定義 字典是無序的 dic1 print dic1,type dic1 字典內的元素是由鍵值對組成,鍵應該是字串,值可以是任意型別 二 操作 1 增 改 增 dic1 dom 3,2 增加乙個鍵值對,如果已經存在就是修改 print dic1 dic1.setdefault weight 有鍵值...
C 中的Dictionary簡介
簡介 在c 中,dictionary提供快速的基於鍵值的元素查詢。當你有很多元素的時候可以使用它。它包含在system.collections.generic名空間中。在使用前,你必須宣告它的鍵型別和值型別。詳細說明 必須包含名空間system.collection.generic dictiona...