2つの文字列リストを表すIEnumerable<string>
があります。私は、最初のセットの要素が2番目のセットの要素と一致するかどうかを確認したい。現時点では私はこのようなものがあります。最初のセットのアイテムが2番目のセットのアイテムと一致するかどうかを効率的に特定
firstSet.Intersect(secondSet).Count() > 0
をしかし、それらすべてをカウントし、その後、一致する要素のリストを生成しますので、かなり非効率的であることが私には思えます。私はその後、カウントがゼロよりも大きいかどうかを調べるためにテストすることができます。私はどのマッチ、いくつのマッチ、2つのセットのどの要素がマッチしているかは気にしません。 firstSet.AnyMatch(secondSet)
のようなものがありますか?
これをより効率的に表現する方法はありますか?
仮定する正しいだろう基になる型がHashSetで既に再構築されていないとしたら? –
@Colin:最適化されているかどうかはわかりません。それらのうちの1つが 'HashSet'であることを知っているなら、それをキャストして 'HashSet .Overlaps'を呼び出す必要があります。 –
それは素晴らしいです。ありがとう。 –