Czy istnieje struktura danych „Set” w .Net?

W idealnej sytuacji szukam klasy zestawów logicznych z szablonami. Miałaby wszystkie standardowe operacje zestawów, takie jak Union, Intersection, Etc. i collapse duplikowane elementy.

Skończyłem tworząc własną klasę zestawów na podstawie słownika C # <> - używając tylko klawiszy.