私はこのような2つのハッシュセットを持っています:
HashSet<string> log1 = new HashSet<string>(File.ReadLines("log1.txt"));
HashSet<string> log2 = searcher(term);
2つをどのように比較しますか?
log2
からのエントリが含まれていないことを確認したいと思いますlog1
。つまり、log1
内部にあるすべてのアイテム(存在する場合)を削除したいと思いlog2
ます。
私はこのような2つのハッシュセットを持っています:
HashSet<string> log1 = new HashSet<string>(File.ReadLines("log1.txt"));
HashSet<string> log2 = searcher(term);
2つをどのように比較しますか?
log2
からのエントリが含まれていないことを確認したいと思いますlog1
。つまり、log1
内部にあるすべてのアイテム(存在する場合)を削除したいと思いlog2
ます。
にあるすべてのアイテムを削除するlog2
には、 HashSet <T> .ExceptWithメソッドlog1
を使用できます:
log2.ExceptWith(log1);
または、 Enumerable.Except Extension Methodを使用して、元の2つのセットを変更せずに新しいHashSet<T>を作成することもできます。
HashSet<string> log3 = new HashSet<string>(log2.Except(log1));
機能を見たことがありExceptWith
ますか?
指定されたコレクション内のすべての要素を現在のHashSetオブジェクトから削除します。