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