У меня есть 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);
}