Метод SymmetricExceptWith
Метод SymmetricExceptWith класса
HashSet<T>
заменяет текущее множество симметрической
разностью с переданной коллекцией: остаются
элементы, которые не принадлежат обоим
наборам одновременно. Метод возвращает
void.
Синтаксис
set.SymmetricExceptWith(other);
Пример
Давайте оставить только различающиеся числа:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
HashSet<int> a = new HashSet<int> {1, 2, 3};
HashSet<int> b = new HashSet<int> {3, 4, 5};
a.SymmetricExceptWith(b);
Console.WriteLine(a.Count);
Console.WriteLine(a.Contains(2));
Console.WriteLine(a.Contains(3));
Console.WriteLine(a.Contains(4));
}
}
Результат выполнения кода:
4
True
False
True
Пример
Давайте применить операцию к одинаковым множествам:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
HashSet<int> a = new HashSet<int> {1, 2, 3};
HashSet<int> b = new HashSet<int> {1, 2, 3};
a.SymmetricExceptWith(b);
Console.WriteLine(a.Count);
}
}
Результат выполнения кода:
0
Пример
Давайте обработать строки без общих букв:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
HashSet<string> a = new HashSet<string> {"a", "b"};
HashSet<string> b = new HashSet<string> {"c", "d"};
a.SymmetricExceptWith(b);
Console.WriteLine(a.Count);
Console.WriteLine(a.Contains("c"));
}
}
Результат выполнения кода:
4
True
Смотрите также
-
метод
ExceptWith,
который вычитает вторую коллекцию -
метод
UnionWith,
который объединяет множества -
метод
IntersectWith,
который оставляет пересечение -
метод
SetEquals,
который проверяет равенство составов