Пересечение множеств в C#
Пересечение оставляет значения, которые есть в обоих наборах. Метод IntersectWith убирает из текущего множества всё, чего нет во втором. Работают с копией, чтобы не менять исходник:
HashSet<int> left = [1, 2, 3];
HashSet<int> right = [2, 3, 4];
HashSet<int> result = new HashSet<int>(left);
result.IntersectWith(right);
Console.WriteLine(result.Count); // prints 2
Даны множества:
HashSet<string> a = ["a", "b", "c"];
HashSet<string> b = ["b", "c", "d"];
Соберите пересечение в новой переменной и выведите Count.