15

2 つのリストがあり、少なくとも 1 つの共通要素があるかどうかを知りたい場合、次の 2 つのオプションがあります。

lst1.Intersect(lst2).Any();

Lst1.Any(x => lst2.Contains(x));

2 つのオプションで期待どおりの結果が得られますが、どちらが最適なオプションかはわかりません。どちらがより効率的ですか? なぜ?

ありがとう。

編集:この投稿を作成したとき、解決策とは別に、理由を探していました。テストを実行できることはわかっていますが、結果の理由はわかりません。一方は他方より速いですか?常に 1 つのソリューションが他のソリューションよりも優れていますか?

このため、テストコードだけでなく、あるものが他のものよりも優れている場合とその理由についても、マシューの回答を受け入れました。Nicholas と Oren の貢献にも感謝します。

ありがとう。

4

3 に答える 3