LINQの拡張メソッドを使うことでも、HashSet・SortedSetと同様の集合演算を行うことができます。 それぞれ対応するメソッドは次のとおりです。
演算 | HashSet/SortedSetのメソッド | LINQの拡張メソッド |
---|---|---|
積集合 | IntersectWith | Intersect |
和集合 | UnionWith | Union |
差集合 | ExceptWith | Except |
対象差 | SymmetricExceptWith | - |
以下の例はこれらのメソッドを使ってHashSet・SortedSetと同様の集合演算を行う例です。 LINQでは、SymmetricExceptWithに相当するような対象差を求めるメソッドは直接提供されませんが、以下の例のように差集合同士の和集合を求めることで対象差を求めることができます。