robob
Goto Top

VB 2010 Express - Suche in erster Spalte in mehrdimensionalem Array und Indexposition ermitteln oder komplett anderer Weg der Datenablage?

Hallo,

ich habe aktuell das Problem, dass ich in Visual Basic 2010 Express ein mehrdimensionales Array habe und gerne das Array nach einem Suchbegriff in der "ersten Spalte" durchsuchen und bei einem Treffer (jeder Wert der ersten Dimension ist eindeutig) die Indexposition ermitteln möchte.
Anhand der Indexposition würde ich dann die beiden anderen "Dimensionswerte" des gleichen Indexes ausgeben.

Leider funktioniert IndexOf nur in einem eindimensionalen Array, soweit ich weiß oder täusche ich mich?
Ich möchte jetzt nicht unbedingt die komplette erste Spalte mit einer For-Schleife durchsuchen.

Aufbau des mehrdimensionalen Arrays beispielsweise:
Apfel grün 50g
Kirsche rot 5g
Gurke grün 100g

So würde ich z.B. nach Kirsche suchen, dann, z.B. den Index 1 erhalten und dann über den Index 1 die beiden Eigenschaften der Kirsche (rot und 5g) ausgeben und weiterverarbeiten.

Oder arbeite ich hier am Besten überhaupt nicht mit einem multimensionalen Array sondern besser mit anderen Möglichkeiten?
Die Werte der ersten Dimension/Spalte bestehen übrigens bei meinen "Echtdaten" aus allen möglichen Sonderzeichen und sind nur 1 Zeichen lang.

Besten Dank im Voraus für Eure Unterstützung!

Gruß,
Robob.

Content-ID: 202961

Url: https://administrator.de/contentid/202961

Ausgedruckt am: 22.11.2024 um 15:11 Uhr

Friemler
Friemler 07.03.2013 aktualisiert um 19:01:07 Uhr
Goto Top
Hallo Robob,

löse das Problem OOP-mäßig: Deklariere eine Klasse mit den benötigten Attributen als Eigenschaften/Properties und überschreibe die Equals-Methode mit einer eigenen Methode, die für den Vergleich die entsprechende Eigenschaft benutzt.

Wenn Du dann die IndexOf-Methode eines Arrays aus Objekten Deiner Klasse aufrufst, wird für den Vergleich Deine eigene Equals-Methode aufgerufen.

Und nein, Beispielcode kann nicht präsentieren, da ich nicht in VB programmiere.

Gruß
Friemler
robob
robob 08.03.2013 um 09:56:54 Uhr
Goto Top
Hallo Friemler,

besten Dank für den Hinweis mit der Klasse, bis jetzt habe ich das immer noch "altmodisch" mit Arrays realisiert.

Habe jetzt aber auf eine Klasse umgestellt und gesehen, dass mein Vorhaben mit der Suche dann auch mit LINQ-Abfragen möglich ist und benötige dadurch dann gar kein IndexOf mehr.

Gruß,
Robob.