我想在一個不覆蓋等於或GetHashCode字典中使用類作爲鍵。這是我不想修改的來自外部庫的一個類。使用「外部」GetHashCode和等於字典
所以我想知道如果我可以使用自定義「GetHashCode」/「Equals」實現只爲一個字典?我想知道是否可以使用C++ std :: maps類似的東西
template < class Key, // map::key_type
class T, // map::mapped_type
class Compare = less<T>, // map::key_compare
class Alloc = allocator<T> > // map::allocator_type
> class map;
其中比較可用於定義自定義比較。
我不想從類中派生,因爲對象是使用現有類在外部創建的。
我可以創建一個包含原始類的類,但它改變了對Dictionary的訪問。
感謝您的想法!
當你創建一個'Dictionary'您可以在'的IEqualityComparer <>'爲你的鑰匙傳遞:http://msdn.microsoft.com/en-us/library/ms132072.aspx –
你可以寫一個用於實現所需行爲的鍵的簡單包裝類,並將包裝的鍵傳遞給字典。 –
爲什麼要做任何事情?任何班級都適合作爲一個關鍵。 –