Недавно я столкнулся с ситуацией, где теория множеств и установила математическое соответствие, что я делал к букве (допустил, что был более легкий способ выполнить то, в чем я нуждался - т.е. LINQ - но я не думал об этом в то время). Однако я не знал ни о каких универсальных библиотеках набора. Предоставленные IEnumerables обеспечивают некоторые операции присвоения (Объединение, и т.д.), но ничто как Пересечение или не установило сравнение. Кто-либо может указать на что-то, что соответствует здесь? Что-то, что реализует математику набора с помощью универсального типа?
В структуре (3.5+) есть HashSet
, который делает то, что вам нужно. .NET 4 также представил SortedSet
и общий интерфейс ISet
.
System.Collections.Generic.HashSet имеет ряд операций над наборами, включая Subset, Superset, Intersection, Union и т. Д.
http://msdn.microsoft.com/en-us/library/bb359438.aspx
Надеюсь, это поможет
Джо