Интерфейс ISet
Интерфейс ISet<T> расширяет
ICollection<T>
методами объединения, пересечения, сравнения
и другими операциями над множествами. Его
реализует, например,
HashSet<T>
и SortedSet<T>.
Синтаксис
ISet<T> set = new HashSet<T>();
Пример
Давайте вызвать UnionWith
через переменную типа ISet<T>:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
ISet<int> a = new HashSet<int> {1, 2};
HashSet<int> b = new HashSet<int> {2, 3};
a.UnionWith(b);
Console.WriteLine(a.Contains(3));
Console.WriteLine(a.Count);
}
}
Результат выполнения кода:
True
3
Пример
Давайте проверить IsSubsetOf
на SortedSet<T>:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
ISet<int> small = new HashSet<int> {2, 4};
ISet<int> big = new SortedSet<int> {1, 2, 3, 4, 5};
Console.WriteLine(small.IsSubsetOf(big));
}
}
Результат выполнения кода:
True
Пример
Давайте использовать Add
и получить логический результат:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
ISet<string> items = new HashSet<string>();
Console.WriteLine(items.Add("a"));
Console.WriteLine(items.Add("a"));
}
}
Результат выполнения кода:
True
False
Смотрите также
-
интерфейс
IReadOnlySet,
который описывает множество только для чтения -
класс
HashSet,
который реализует ISet -
класс
SortedSet,
который хранит элементы по порядку -
интерфейс
ICollection,
от которого наследует ISet