Sie können eine SortedSet<T>
die neu in .NET 4 ist. Sie können sie für eine Klasse verwenden, die IComparable<T>
oder Sie können einen externen Komparator über eine Konstruktorüberladung bereitstellen. Beispiel:
class Foo
{
public int Bar { get; set; }
}
class FooComparer : IComparer<Foo>
{
public int Compare(Foo x, Foo y)
{
// add null checking, demo purposes only
return x.Bar.CompareTo(y.Bar);
}
}
...
SortedSet<Foo> sortedFoos = new SortedSet<Foo>(new FooComparer());
sortedFoos.Add(new Foo() { Bar = 2 });
sortedFoos.Add(new Foo() { Bar = 1 });
foreach (Foo foo in sortedFoos)
{
Console.WriteLine(foo.Bar);
}
// Prints 1, 2
Note : Diese Sammlung verhält sich wie eine HashSet<T>
. Wenn Sie mehrere Objekte hinzufügen, die gleich sind, werden sie verworfen.