HashSetクラス・SortedSetクラスには集合演算を行うメソッドとして次のメソッドが用意されています。 いずれも引数としてIEnumerable<T>を取り、戻り値はありません(void)。 したがって、これらのメソッドでは引数に指定された配列やコレクションなどとの演算結果をインスタンス自身に反映します。
メソッド | 動作 |
---|---|
HashSet.IntersectWith
SortedSet.IntersectWith |
現在の集合と引数で指定されたIEnumerable<T>との積集合を求める (引数の集合と共通する要素のみを残す) |
HashSet.UnionWith
SortedSet.UnionWith |
現在の集合と引数で指定されたIEnumerable<T>との和集合を求める (引数の集合の要素をマージする) |
HashSet.ExceptWith
SortedSet.ExceptWith |
現在の集合と引数で指定されたIEnumerable<T>との差集合を求める (引数の集合の要素を除外する) |
HashSet.SymmetricExceptWith
SortedSet.SymmetricExceptWith |
現在の集合と引数で指定されたIEnumerable<T>との対称差を求める (引数の集合と共通する要素のみを除外する) |
以下は、上記の集合演算を使った例です。
SortedSetで並べ替えが行われる以外は、結果は同じです。
以下の図は、上記のHashSet・SortedSetの集合演算メソッドの実行結果を図式化したものです。