6

私はこのような2つのハッシュセットを持っています:

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

2つをどのように比較しますか?

log2からのエントリが含まれていないことを確認したいと思いますlog1。つまり、log1内部にあるすべてのアイテム(存在する場合)を削除したいと思いlog2ます。

4

3 に答える 3

15

にあるすべてのアイテムを削除するlog2には、 HashSet <T> .ExceptWithメソッドlog1を使用できます:

log2.ExceptWith(log1);

または、 Enumerable.Except Extension Methodを使用して、元の2つのセットを変更せずに新しいHashSet<T>を作成することもできます。

HashSet<string> log3 = new HashSet<string>(log2.Except(log1));
于 2012-05-17T12:44:40.107 に答える
7

LINQの使用:

log1.Intersect(log2).Any()

IntersectおよびExceptMSDNを参照してください。

于 2012-05-17T12:44:30.347 に答える
1

機能を見たことがありExceptWithますか?

指定されたコレクション内のすべての要素を現在のHashSetオブジェクトから削除します。

于 2012-05-17T12:44:41.987 に答える