2010-08-31 40 views
0

我有一個HashSet與它自己的EqualityComparer,但我想知道是否在檢查每個元素之前使用兩個集合的簡單計數?HashSet相等c#

我以爲我可以在Reflector中爲自己回答這個問題,但是我找不到任何覆蓋Equals的地方。

乾杯,
Berryl

編輯==========

正如漢斯指出的那樣,它是我感興趣的兩組比較,作爲替代的一部分Equals中有一個HashSet作爲屬性的類?

+1

你可以發佈你的代碼嗎?這個問題聽起來好像你試圖比較兩個或多個HashSet實例,而不是使用'IEqualityComparer <>'來評估給定HashSet已經包含的內容。 – 2010-08-31 20:36:11

+0

@Anthony。我試圖比較兩套,如我的帖子的編輯所述。我假設這樣做的最好方法是檢查計數和元素,雖然元素檢查可能很昂貴。歡呼聲 – Berryl 2010-08-31 21:38:31

回答

3

你在混淆。實施您自己的IEqualityComparer <>可用於比較您放入HashSet中的元素。如果您想比較套件,Count屬性將永遠有用。兩件完全不同的事情。沒有Equals()的默認實現。如果可能,HashSet.SetEquals()方法確實首先檢查Count屬性。

+0

完美,這就是我一直在尋找的。乾杯 – Berryl 2010-08-31 21:39:50