Das nervt mich schon seit einiger Zeit. Ich habe mehrere Ansätze ausprobiert und keiner hat richtig funktioniert.Anpassen der Sortierreihenfolge von C# -Arrays
Ich schreibe und IRC-Client und versuche, die Liste der Benutzernamen (die nach Benutzerzugriffsebene im aktuellen Kanal sortiert werden müssen) zu sortieren.
Das ist einfach genug. Problem ist, dass diese Liste hinzugefügt werden muss, wenn ein Benutzer dem Kanal beitritt oder ihn verlässt, so dass sein Benutzername beim Verlassen der Liste entfernt und an der richtigen Stelle wieder hinzugefügt werden muss, wenn er sich wieder anmeldet.
Die Zugriffsebene jedes Benutzers wird durch ein einzelnes Zeichen am Anfang jedes Benutzernamens angegeben. Diese Zeichen sind reserviert, daher gibt es kein mögliches Problem eines Namens, der mit einem der Symbole beginnt. Die Symbole vom höchsten zum niedrigsten (in der Reihenfolge, ich brauche sie zu sortieren) sind: ~ & @ % +
Benutzer ohne jede Art von Zugriff haben kein Symbol vor ihrem Benutzernamen ein. Sie sollten am Ende der Liste stehen.
Zum Beispiel: der unsortierten Array folgenden enthalten könnte: ~ benutzer1 ~ user84 @ user3 & user8 + user39 user002 user2838% user29
und sortiert werden muss, um die Elemente in der folgenden Reihenfolge sind: ~ Benutzer1 ~ Benutzer84 & Benutzer8 @ Benutzer3% Benutzer29 + Benutzer39 Benutzer002 Benutzer2838
Nachdem Benutzer nach Zugriffsebene sortiert sind, müssen sie auch alphabetisch sortiert werden.
Fragen hier ist ein letzter Ausweg, wenn mir jemand helfen könnte, würde ich es sehr schätzen. Vielen Dank im Voraus.
Wie speichern Sie die Liste der Benutzernamen? Wenn es sich um eine Datenbank handelt, könnten Sie dann SQL verwenden, um die Daten in der gewünschten Reihenfolge abzurufen, bevor Sie sie in eine Liste einfügen? – BarneyHDog