我有兩個hashsets這樣的:比較兩個哈希集?
HashSet<string> log1 = new HashSet<string>(File.ReadLines("log1.txt"));
HashSet<string> log2 = searcher(term);
我如何比較這兩個?
我想確保log2
不包含任何來自log1
的條目。換句話說,我想刪除log1
裏面的所有物品(如果有的話)log2
。
我有兩個hashsets這樣的:比較兩個哈希集?
HashSet<string> log1 = new HashSet<string>(File.ReadLines("log1.txt"));
HashSet<string> log2 = searcher(term);
我如何比較這兩個?
我想確保log2
不包含任何來自log1
的條目。換句話說,我想刪除log1
裏面的所有物品(如果有的話)log2
。
從log2
刪除所有項進行log1
,您可以使用HashSet<T>.ExceptWith Method:
log2.ExceptWith(log1);
或者,你可以創建一個新HashSet<T>不使用Enumerable.Except Extension Method修改原來的兩個組:
HashSet<string> log3 = new HashSet<string>(log2.Except(log1));
你見過ExceptWith
功能嗎?
從當前HashSet對象中刪除指定集合中的所有元素。
逐步通過log1中的每個元素,並將它們與log2中的每個元素進行比較,這就是我要做的。雖然我不確定你將如何訪問各個元素。我猜你可能能夠爲它構造一個foreach(在log1中的字符串s)?注意:我從來沒有使用過HashSet類型,並且我在猜測 –