最も効率的な方法で、あるセットを別のセットから取り除こうとしています。したがって、次のセット A と B がある場合、A_minus_B は {1, 2, 6} を与えるはずです。これが私が持っているものですが、それが最も効率的な方法ではないと確信しています。
HashSet<int> A = new HashSet<int>{ 1, 2, 3, 4, 5, 6 };
HashSet<int> B = new HashSet<int> { 3, 4, 5 };
HashSet<int> A_minus_B = new HashSet<int>(A);
foreach(int n in A){
if(B.Contains(n)) A_minus_B.Remove(n);
}