c# Dictionary 自定義類型的key 如何判斷是否存在

科技 未結(jié) 3 613
highlarge
highlarge 2023-05-23 10:03

public class DicConfigKey { public string ID { get; set; } public string TypeID { get; set; } }

Dictionary<DicConfigKey, string> dic = new Dictionary<DicConfigKey, string>(); dic.Add(new DicConfigKey { ID = "1", TypeID = "010" }, "test1"); dic.Add(new DicConfigKey { ID = "1", TypeID = "020" }, "test2"); dic.Add(new DicConfigKey { ID = "2", TypeID = "020" }, "test3"); DicConfigKey key = new DicConfigKey() { ID = "2", TypeID = "020" }; //bool flag = dic.Keys.Contains(key); bool flag = dic.ContainsKey(key);

如上代碼,Dictionary中自定義類型的鍵Key,如何判斷key是否存在呢,dic.Keys.Contains和dic.ContainsKey都返回false


問題已解決,重寫DicConfigKey的Equals和GetHashCode方法即可,代碼如下

public class DicConfigKey { public string ID { get; set; } public string TypeID { get; set; }public override bool Equals(object obj) { if (obj == this) return true; if (!(obj is DicConfigKey)) return false; var dicconfikey = (DicConfigKey)obj; return ID == dicconfikey.ID && TypeID == dicconfikey.TypeID; }public override int GetHashCode() { return (ID + TypeID).GetHashCode(); } }

相關(guān)標(biāo)簽:
3條回答
  • 2023-05-23 10:11

    或者使用GetHashCode/Equals自己來寫對(duì)比規(guī)則

    0 討論(0)
  • 2023-05-23 10:15

    換struct

    0 討論(0)
  • http://stackoverflow.com/ques...

    0 討論(0)
提交回復(fù)
最新問題
女人怎么治療輸卵管堵 1
為什么很多人出索尼xbaZ5 1
宏基E146D家用投影機(jī)有非常大的聲響 1
做輸卵管造影大約多少錢 1
央視是哪個(gè)頻道 3
什么牌子的電視盒子比較好? 1
哪里醫(yī)院專治輸卵管堵塞好 1
9K金是純金嗎?9K金佩戴時(shí)間長(zhǎng)了會(huì)不會(huì)掉色? 4
索尼PS VR2被曝2022年下半年開始量產(chǎn) 1
剛買的黃金項(xiàng)鏈印記是z j 1千足金是什么意思 1
猜你喜歡
剛懷孕能吃螺螄粉嗎,螺螄粉懷孕的人能吃嗎
無精癥的病因:腮腺炎會(huì)導(dǎo)致男性無精嗎
在佛山甲亢做試管嬰兒孩子會(huì)遺傳嗎,附詳細(xì)費(fèi)用表!
南京第三代試管嬰兒多少錢!收費(fèi)是多少!
合肥三代試管嬰兒機(jī)構(gòu)排行榜,安全性高還數(shù)這幾家
在泰國(guó)做試管嬰兒費(fèi)用是多少!附帶案例參考!
哈薩克斯坦試管嬰兒流程與費(fèi)用?附明細(xì)情況!
2024年河南鄭州做第三代試管花費(fèi)太高!價(jià)格解讀
艾滋病在河池做試管影響成功率嗎附治療周期和費(fèi)用預(yù)估,為你貼心籌算!
陜西第三代試管嬰兒助孕大概費(fèi)用詳細(xì)一覽
熱門文章
2025年國(guó)內(nèi)三代試管嬰兒成功率高醫(yī)院排行榜
深圳試管嬰兒私人機(jī)構(gòu)排名在這
福州比較出名私立試管醫(yī)院排名一覽
上海試管助孕懷孕公司哪些能做?
“必看資訊”試管嬰兒的操作流程是怎樣的?
天津哪家私立醫(yī)院做三代試管技術(shù)比較好?附2025推薦名單
怎么去泰國(guó)做試管嬰兒比較可靠?三大流程是哪些?
2025天津私立試管醫(yī)院排名,一文看完各醫(yī)院特點(diǎn)
泰國(guó)第三代試管嬰兒的成功率分析
2025北京私立試管醫(yī)院排行榜揭曉,選醫(yī)院前先看這里
廣告合作方 廣告申請(qǐng)