Есть ли эквивалент std:: set в С#?

Я хотел бы иметь контейнер

StdStyleSet<A>

о

class A : IComparable<A> { ... }

который удовлетворяет свойствам std:: set. Это особенно важно:

  • Элементы themselve являются ключами
  • Автоматическая сортировка при вставке

Ответы

Ответ 1

SortedSet<T>: см. документы - хотя это технически, это в .NET Framework.

Для более ранних версий вы можете использовать HashSet и сортировать с помощью LINQ, а не идеально, если вы в первую очередь потребляете набор упорядоченным способом. В качестве альтернативы вы можете использовать SortedDictionary<TKey,TValue> со значением как Object и сохранить свои элементы в ключах с нулями для значений.