Zum Inhalt springen

Sortieren mit Compare (Compact Framework 2 - Windows CE)


Empfohlene Beiträge

Geschrieben

Hallo Liebe Gemeinde,

ich werd hier gleich verrückt.

Ich sitze schon seid längerem an einem Problem, was ich einfach nicht überwältigt bekomme.

Ich möchte eine List sortieren. Diese List enthält Objekte meiner eingenen Klasse. Sortierung soll nach Zeit stattfinden.

Hier die Klasse:


public class Tap:IComparable<Tap>

    {


        public int zeit;

        public int p;


        public Tap()

        {

        }



        public Tap(int zeit, int p)

        {

            this.zeit = zeit;

            this.p= p;


        }



        int IComparable<Tap>.CompareTo(Tap other)

        {

            if (this.zeit > other.zeit) return 1;

            if (this.zeit < other.zeit) return -1;

            return 0;

        }

    }


Das Sortieren funktioniert, aber ich habe nach dem Sortieren, immer ganz viele Objekte in der List. Ich kann mir das nicht erklären. Angenommen, es sollten 4 Objekte in meiner Liste sein, sinds nach dem sortieren weit über 10. ( Also dubletten ohne Ende)

Ich weiß nicht warum. Sortieren tuhe ich mit

tap_list.Sort();

Umgesetzt habe ich es nach diesem Beispiel: Sorting Lists using IComparable and IComparer Interface in .NET - CodeProject

Also mir fällt nichts mehr ein. Wenn das nicht geht, muss ich mir morgen, irgendwie anders weiter helfen.

Ich finde einfach nicht den Fehler, langsam habe ich das Gefühl, dass es vielleicht am Compact Framework liegt ?!?

Ich meine, das ist doch das einfachste, was man eingetlich machen kann ;)

Ich bedankt mich im Vorraus und wünsche euch allen ein netten und angenehmen Abend.

Grüße

dapole88

Geschrieben

Guten Morgen,

also gefüllt wird es an dieser Stelle: (in der list_p sind zudem Zeitpunkt keine dubletten vorhanden)


            foreach (Point pt in list_p)

            {

                double se = Convert.ToDouble(pt.X.ToString()) / xfaktor;


                double pu = Convert.ToDouble((panel_p.Height - Convert.ToDouble(pt.Y.ToString())) * yfaktor);


                int s = (int)se;

                int p = (int)pu;

                tap_list.Add(new Tap(s,p));

                x++;

            }


            tap_list.Sort();

Mehr passiert dort eingetlich auch nicht.

Sollte mir noch irgendwas auffallen, werd ich es natürlich posten.

Grüße

dapole88

Geschrieben

tap_list wird beim jeden Durchlauf des Codeschnipsels mit der Anzahl der Elemente von list_p erhöht. Vielleicht musst du list_p resetten.

Wie häufig wird der Code ausgeführt? Ein gut gesetzter Breakpoint kann hier sicherlich auch helfen.

Geschrieben

Der Moment: Wenn man den Wald vor lauter Bäumen nicht mehr sieht.

Hab ich vorhin auch gemerkt.

Bedanke trotzdem mich.

die Liste wurde einfach nicht geleert. Das ich das nicht gesehen habe. Unfassbar!

Wünsche netten Nachmittag,

Grüße

dapole88

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...