好的,所以我需要一點幫助。我有一個通用字典「cashdata」。這個字典的關鍵是對象(查詢對象,我定義的一個類)。查詢對象具有「條款」字段(字符串列表)和「操作員」字段,它是一個枚舉(「全部」或「任意」)。C#:使用ContainsKey其中的鍵是對象
cashdata.ContainsKey(a_query_object);
而且有它取決於如果a_query_object並在字典的對象是自己的條款和操作方面都是完全相同的產生真或假。做這個的最好方式是什麼?一個HashCode可能?我會很感激的一個例子,在此先感謝。
編輯:cashdata字典的定義是這樣的
Dictionary<Query,List<string> > cashData = new Dictionary<Query,List<string>>();
請顯示更多代碼,或者您如何定義此泛型詞典。 – MethodMan
在您的自定義對象上覆蓋'Equals'和'GetHashCode',將斷點放入並遍歷代碼 - 這將幫助您瞭解'ContainsKey'以及字典的其他方法如何工作。 –
確保Query對象的術語和運算符在添加到Dictionary後不能更改。如果發生這種情況,您將無法在字典中正確找到對象。 – hatchet