2012-05-17 220 views
5

我有兩個hashsets這樣的:比較兩個哈希集?

HashSet<string> log1 = new HashSet<string>(File.ReadLines("log1.txt")); 
HashSet<string> log2 = searcher(term); 

我如何比較這兩個?

我想確保log2不包含任何來自log1的條目。換句話說,我想刪除log1裏面的所有物品(如果有的話)log2

+0

逐步通過log1中的每個元素,並將它們與log2中的每個元素進行比較,這就是我要做的。雖然我不確定你將如何訪問各個元素。我猜你可能能夠爲它構造一個foreach(在log1中的字符串s)?注意:我從來沒有使用過HashSet類型,並且我在猜測 –

回答

7

使用LINQ:

log1.Intersect(log2).Any() 

IntersectExcept MSDN上。

+0

count()或任何()....? –

+0

@RoyiNamir - 'Any()'更好。 – Oded

+0

@RoyiNamir如果你需要檢查罐子裏是否有任何硬幣需要計數,而你檢查是否存在任何硬幣? – Sandeep

1

你見過ExceptWith功能嗎?

從當前HashSet對象中刪除指定集合中的所有元素。