1

文字列のリストが 2 つあり、どちらも ~300,000 行です。リスト 1 にはリスト 2 よりも数行多くあります。私がしようとしているのは、リスト 1 にはあるがリスト 2 にはない文字列を見つけることです。

比較しなければならない文字列の数を考えると、それでExcept()十分ですか、それともより良い(より速い)ものがありますか?

4

2 に答える 2

5

内部的には、列挙可能なExcept拡張メソッドを使用Set<T>して計算を実行します。少なくとも他の方法と同じくらい高速になります。

と一緒に行きlist1.Except(list2)ます。

これにより、最高のパフォーマンスと最も単純なコードが得られます。

于 2012-08-15T03:36:05.543 に答える
1

私のおすすめ:

    HashSet<String> hash1 = new HashSet<String>(new string[] { "a", "b", "c", "d" });
    HashSet<String> hash2 = new HashSet<String>(new string[] { "a", "b" });
    List<String> result = hash1.Except(hash2).ToList();
于 2012-08-15T03:26:51.020 に答える