C # SortedSet <T> и равенство

Я немного озадачен поведением SortedSet, см. Следующий пример:

public class Blah
{
    public double Value { get; private set; }

    public Blah(double value)
    {
        Value = value;
    }
}

public class BlahComparer : Comparer<Blah>
{
    public override int Compare(Blah x, Blah y)
    {
        return Comparer<double>.Default.Compare(x.Value, y.Value);
    }
}

public static void main()
{
    var blahs = new List<Blah> {new Blah(1), new Blah(2), 
                                new Blah(3), new Blah(2)}

    //contains all 4 entries
    var set = new HashSet<Blah>(blahs); 

    //contains only Blah(1), Blah(2), Blah(3)
    var sortedset = new SortedSet<Blah>(blahs, new BlahComparer());
}

Поэтому SortedSet отбрасывает записи, если Compare (x, y) возвращает 0. Могу ли я предотвратить это, так что мой SortedSet ведет себя как HashSet и отбрасывает записи, только если Equals () возвращает true?

Ответы на вопрос(3)

Ваш ответ на вопрос