Как создать HashSet > с отдельными элементами?

У меня есть HashSet, который содержит несколько списков целых чисел - например, HashSet >

Чтобы сохранить уникальность, мне сейчас приходится делать две вещи: 1. Выполните цикл вручную по существующим спискам, ища дубликаты, используя SequenceEquals . 2. Сортировка отдельных списков так, чтобы SequenceEquals работала в настоящее время.

Есть ли лучший способ сделать это? Есть ли существующий компаратор IEqualityComparer, который я могу предоставить в HashSet, чтобы HashSet.Add () мог автоматически обрабатывать уникальность?

var hashSet = new HashSet<List<int>>();

for(/* some condition */)
{
    List<int> list = new List<int>();

    ...

    /* for eliminating duplicate lists */

    list.Sort();

    foreach(var set in hashSet)
    {
        if (list.SequenceEqual(set))
        {
            validPartition = false;
            break;
        }
    }

    if (validPartition)
           newHashSet.Add(list);
}
7
задан A-Sharabiani 17 October 2019 в 21:58
поделиться