Общая коллекция с IEqualityComparer в конструкторе - PullRequest
2 голосов
/ 24 мая 2011

Есть ли в фреймворке подобная коллекция?

public class DesiredCollection<T>
{
    public DesiredCollection(IEqualityComparer<T> comparer) 
    {
    }
}

Требования:

  • универсальная коллекция;
  • IEqualityComparer или лямбда-выражение для определения равенства;
  • нет необходимости определять тип ключа;
  • получение предмета по ключу;
  • получение всех предметов как IEnumerable.

1 Ответ

0 голосов
/ 24 мая 2011

Различные конструкторы принимают IEqualityComparer<T> в своих конструкторах (обычно как одна перегрузка из нескольких).В частности, Dictionary<TKey, TValue> и HashSet<T> подпадают под эту категорию.Они используют компаратор равенства для проверки существования ключей / элементов.

Однако вы на самом деле не выразили ничего, кроме необходимости конструктора, принимающего компаратор равенства.Предположительно, вам понадобится нечто большее ... что вы пытаетесь сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...