当面のタスクは、あるリストに別のリストに存在するすべての要素が含まれているかどうかを確認することです。 .NET では、この機能はバージョン 3.5 以降に組み込まれています。
.NET 3.5 以降では、次のコードを利用してこの封じ込めを実現できます。 check:
public static class LinqExtras // Or whatever { public static bool ContainsAllItems<T>(this IEnumerable<T> a, IEnumerable<T> b) { return !b.Except(a).Any(); } }
この簡潔なコードは、Except メソッドを利用して、b に存在しない要素を特定します。で。結果を ! で反転することで、a に b のすべての要素が含まれているかどうかを効果的に確認できます。
コーディング規約の観点からは、次に示すようにジェネリック メソッドを定義する方が一般的です。クラス自体は汎用ではなく、提供されたコードです。さらに、List
.NET 3.5 以降の組み込み機能を使用すると、要素間の包含をチェックする便利で効率的な方法が得られます。リスト。提供されたコードは、LINQ を効果的に利用してこのチェックを実行し、一般的なコーディング慣行に準拠しています。
以上が.NET で、あるリストに別のリストのすべての要素が含まれているかどうかを効率的に確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。