У меня есть два SortedSets:SortedSet.Contains дает ошибку «по крайней мере, один объект должны реализовать ICombarable»
SortedSet<SortedSet<int>> sset1 = new SortedSet<SortedSet<int>>();
SortedSet<SortedSet<int>> sset2 = new SortedSet<SortedSet<int>>();
Позже я проверяю я делаю новый отсортированный набор:
SortedSet<int> newSset = MethodThatReturnsSortedSet();
Теперь я хочу чтобы проверить, если sset1 и sset2 содержат newSset:
if (!sset1.Contains(newSset) && !sset2.Contains(newSset)) <--error on this line
{
sset1.Add(next);
//some more code
}
Так ошибка я получаю аргумент Exception «, по крайней мере, один из них объекты должны реализовывать IComparable.
Я рассмотрел другие вопросы с той же проблемой, но в их случае они хотят сравнить свои классы. Я просто проверяю, находится ли определенный элемент в наборе. Так что да. Я понятия не имею, как это решить, любые указатели?
Почему вы используете SortedSet из SortedSets? Будет ли и другая коллекция, которая не нуждается в IComparable в качестве ее содержимого? – FrankPl
Полагаю, я мог бы изменить их на Hashset – Aelion