@elvis: Das ist sicher auch eine Möglichkeit, aber ich wollte ja wissen, wie es von Hand geht, um es zu verstehen. Letztendlich will ich mich etwas in C# einarbeiten, um zu sehen, wie es funktioniert usw.
Zum Vergleichen habe ich jetzt mal eine Klasse implementiert:
Code:
class PersonComparer: IComparer<Person>
{
public enum SortType {Descending = -1, Ascending = 1};
protected SortType sortType;
public PersonComparer()
{
this.sortType = SortType.Ascending;
}
public PersonComparer(SortType st)
{
this.sortType = st;
}
public SortType HowToSort
{
set{this.sortType = value;}
}
public int Compare(Person p1, Person p2)
{
if (p1.Name == p2.Name)
return (int)sortType * p1.Vorname.CompareTo(p2.Vorname);
else
return (int)sortType * p1.Name.CompareTo(p2.Name);
}
}