Autor Beitrag
Akula
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Mi 16.01.08 15:15 
Hallo, erstmal muss ich sagen das ich noch nicht sehr viel Erfahrung mit C# habe. Habe mich jetzt mal an Listen rangetraut. Ich habe folgendes programmiert mit einem Sortier-Algorithmus.
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
 class Wettkampfkarte : IComparer
    {
        string Name, Vorname, Klasse;
        int Jahrgang, Wurf, Sprung, Lauf, Gesamt;

        public string name
        {
            set { this.Name = value; }
            get { return this.Name; }
        }

        public string vorname
        {
            set { this.Vorname = value; }
            get { return this.Vorname; }
        }

        public int Compare(object x, object y)
        {
            Wettkampfkarte we = (x as Wettkampfkarte);
            Wettkampfkarte ws = (y as Wettkampfkarte);

            if ((Name != null) && (Vorname != null))
                return we.Vorname.CompareTo(ws.Vorname);
            return -1;
        }


Diesen möchte ich nur gerne aufrufen. Nur weiß ich lieder nicht wie ich das machen muss.
habe mir eine Liste erstellt: List<Wettkampfkarte> i = new List<Wettkampfkarte>();
Diese klappt auch wunderbar, aknn auch Wettkampfkarten einfügen, ausgeben etc.

Nur wie muss ich den Befehl Sort aufruefen, das der mir das sortiert und ist der Sortier-Algorithmus richtig?
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 16.01.08 19:47 
IComparer ist das falsche Interface für Klassen, die sich selbst vergleichen können. Benutze IComparable (am besten gleich IComparable<Wettkampfkarte>), dann genügt ein einfaches Sort().

PS: Ich würde es erst gar nicht dazu kommen lassen, dass eine Karte mit leerem Vornamen und/oder Nachnamen eingefügt werden kann. Außerdem hast du da was verdreht: Felder werden klein geschrieben, Eigenschaften groß ;) .
Akula Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Mi 16.01.08 23:48 
Hallo Khabarakh,

vielen, vielen Dank für deine Antworten, endlich habe ich es geschafft. Danke, danke. Und eh das andere ist mir nie so wirklich aufgefallen, auch danke dafür.