ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
1088
1088
EMPFEHLEN
-
07.01.10 20:49 #1RescueThePinguins Tutorials.de Gastzugang
Hallo erstmals
Mein Problem ist folgendes.Ich bin für mich an einem Projekt das Daten verwalten soll. Zum anzeigen der Daten habe ich 3 ListBoxen nebeneinander, in der ersten werden die Interpreten, in der 2. die Alben und in der 3. die Songs der Künstler angezeigt die jeweils in der anderen ListBox selektiert sind. Mein Problem ist jetzt das ich des öfteren 2 mal das gleiche Album oder auch den gleichen Interpret in der ListBox stehen habe.
Hab schon einiges Versucht komme aber einfach nicht weiter, sprich nichts hatte bis jetzt Erfolg.
Ich suche also nach einer möglichkeit meine ListBox nach den bereits eingetragenen Items zu durchsuchen und diese dann mit dem nächsten das ich einfügen würde zu vergleichen.
Also eigentlich müsste ich nur wissen wie das man die ListBox nach allen bereits vorhandenen Werten durchsuchen kann.
Hier der Code von der Bibliotheck:
private void Bibliothek_Load(object sender, EventArgs e)
{
foreach (Main.struSong titel in Main.SONGLIST)
{
if (titel.Interpret != null)
{
string hallo = listBox1.Items.ToString();
listBox1.Items.Add(titel.Interpret);
}
//Mues denn no alles chli besser benamlsle ond de bug usenäh dasses d'albe ond so dopplet azeigt
}
}
& der Struktur Song
public struct struSong
{
public String Titel;
public String Interpret;
public String Album;
public String SongPath;
public String AlbumCover;
}
public static String SAVEPATH;
public static List<struSong> SONGLIST = new List<struSong>();
public XmlDocument doc = new XmlDocument();
Ich hoffe auf einige Denkanstösse, wenn ich Informationen vergessen hätte die wichtig wären bitte sagen.
Lg
RescueThePinguins
-
Implementier die Schnittstelle IEquatable
Dann überschreibst du noch die Standard Equals Methode des Structs und GetHashCode.
Danach solltest du dann einfach mit listBox.Items.Contains vergeichen können.
ungefähr so:
Code :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 27
struct MeinSctruct : IEquatable<MeinStruct> { public MeinStruct(string irgendwas, int wasAnderes) { ... hashCode = (irgendwas.GetHashCode() + wasAnderes.GetHashCode()).GetHashCode(); } public override int GetHashCode() { return hasCode; } public bool Equal(MeinSctruct item) { return item.Irgendwas == Irgendwas && item.WasAnderes == WasAnderes; } public override bool Equal(object item) { if(item is MeinSctruct) return Equal((MeinSctruct )item); return false; } ... }
Nachtrag:
Sehe gerade
sollte bei dir schon reichenCode :1
listBox.Items.Contains(title.Interpret);
Geändert von Spyke (07.01.10 um 22:16 Uhr)
-
07.01.10 22:56 #3RescueThePinguins Tutorials.de Gastzugang
Genail!
Danke man denn beim ersten bin ich auch nicht wirklich weitergekommen weil ich IEquatable nicht ganz gerafft habe
Auf jeden Fall super hast mir sehr geholfen
Mfg RescueThePinguins
Ähnliche Themen
-
Wert per php aus tabelle abfragen wenn wert erreicht soll spalte 2 um eines erhöht
Von bastiekleve im Forum PHPAntworten: 64Letzter Beitrag: 17.12.10, 20:23 -
Andere Schrift für die Homepage, dennoch soll sie jeder sehen
Von -GS-Master im Forum CSSAntworten: 2Letzter Beitrag: 11.11.06, 08:08 -
Thread soll JEDE STUNDE einmalig eine Aktion ausführen
Von Lautsprecher im Forum JavaAntworten: 5Letzter Beitrag: 02.11.05, 12:15 -
nich jeder hat diese schrift, soll sie aber im ie sehen könn!
Von subzero im Forum CSSAntworten: 5Letzter Beitrag: 26.11.02, 12:33 -
Tabelle soll bei jeder Auflösung gleich gross sein
Von Xcurse im Forum HTML & XHTMLAntworten: 1Letzter Beitrag: 31.07.01, 08:34





Zitieren
Login





