Mehrdimensionale Listen benutzen und alphabetisch sortieren ohne Zuodnung zu verlieren

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Mehrdimensionale Listen benutzen und alphabetisch sortieren ohne Zuodnung zu verlieren

    Hallo allerseits,

    folgende Problemstellung: Ich habe eine Liste (bzw. dazu auch eine ListBox) mit Namen von Musikititeln. Jedem Musiktitel soll ein Pfad/Dateiname eindeutig zugeordnet werden, so dass mein Programm weiss, wie es die Titel abspielen kann. Ausserdem soll diese Liste alphabetisch geordnet werden (also die Musiktitel) und dabei die Zuordnung nicht durcheinandergebracht werden. Nun hatte ich an eine mehrdimensionale Liste gedacht. Gibt es sowas überhaupt, wie legt man eine solche an bzw. benutzt diese? Oder sollte ich lieber auf andere Lösungswege ausweichen wie etwa eine Struktur oder Klasse oder Dictionary? Die Performance ist auch ein wichtiger Aspekt, es sollen ca. 5,5k Datensätze werden...

    Ich freue mich auf eure Antworten :)
    habich das schon erwähnt, dass du eine Datenverarbeitung am Hals hast?
    Da musst du nicht auf andere Lösungswege ausweichen, sondern du musst erstmal anfangen, ein relationales Datenmodell aufzubauen.
    Ich empfehle wie immer das typisierte Dataset, weil da ist alles drin was man braucht:
    Sortieren, filtern, verknüpfen, laden, speichern, zufügen, ändern, löschen, und insbesondere: Databinding

    und ist vom technischen her am einfachsten.

    Mit list(of String), Listboxen, Listen-Zuordnungen etc... - da kann ich nur viel Glück wünschen.

    Aber mir war, du hättest schon angefangen mit Datenmodell-Klassen.
    Zwar nicht relational, aber so Klassen hattest du doch gebastelt.
    Wenn du in die richtung weiter-versuchen willst, ist das die Richtung.
    String-Listen und Zuordnungs-Listen, die dann bei der Sortierung sich auch umsortieren - solche Konstruktionen sind möglich, dem geb ich nicht viele Chancen.

    ErfinderDesRades schrieb:


    String-Listen und Zuordnungs-Listen, die dann bei der Sortierung sich auch umsortieren - solche Konstruktionen sind möglich, dem geb ich nicht viele Chancen.

    Wie meinst du das?
    Lassen wir die relationale DB mal ausser Acht. Bis jetzt hab ich mit meinen Listen und den Klassen alles hinbekommen. Was echt gut ist. So eine Liste leg ich mir doch mit Public MeineListe As New List (Of String, Of String) an sehe ich das richtig? Mit welcher Methode sortiere ich das dann konkret?

    kafffee schrieb:

    Lassen wir die relationale DB
    Das habich bestimmt auch schon gesagt: Von einer DB ist überhaupt nicht die Rede!

    Eine New List (Of String, Of String) geht nicht - probier das mal aus.

    Nein, was ich meinte war die ClassMP3Datei und ClassSender von hier - solche Klassen in ihrem Zusammenspiel sind ein Datenmodell.
    ZB. bei Verwendung von ClassMP3Datei musst du einem Musiktitel keinen DateiNamen zuordnen, denn beides: MusikTitel und DateiName sind ja Bestandteil des ClassMP3Datei-Objektes - also die Zuordnung kann garnet verloren gehen.

    Und eine List(Of ClassMP3Datei) kannste auch sortieren nach wasauchimmer du willst. Entweder mit Linq-Orderby(keySelector) oder mit List.Sort(comparison).
    Die Umsortierung wird leider nicht automatisch beim Databinding nachgeführt (wie es etwa beim typDataset würde), aber auch da kann man was frickeln (mag Vaporized dich bei beraten).