Hashtable ausgeben

Speedkill

Erfahrenes Mitglied
Hallo allesamt !

Nachdem ich eine Hashtable erstellt habe in der ein String als key und ein Array als zugehöriger Wert gespeichert ist, habe ich ein problem das Array wieder auszugeben.

Da in der Hastable das Array als Objekt abgelegt wird kriege ich bei dem Aufruf

myHashtable.Item(key)

ja nur ein Objekt. Wie mach ich daraus wieder ein Array.
Als Methode bei Angabe des Punktes gibt er mir nur "GetType" als auswahl.

Danke schonmal
Speedy
 
Wäre ja auch zu schön gewesen, aber es geht nicht.
Ich habe versucht einen DirectCast zu machen, aber er sagt immer diese Umwandlung sei nicht erlaubt.

Im Debugger sehe ich aber daß die Hashtable den eine Array enthält.

Hat noch jemand ne Idee oder Caste ich falsch ?

Hier der Codeschnipsel:


Code:
ForEach schluessel In tmp.Keys
 
ForEach wert In DirectCast(tmp.Item(schluessel), ArrayList)
 
Also hier der Code:

Code:
PublicFunction einlesen() As Hashtable
 
Dim inhalt AsNew Hashtable
 
Dim altmp AsNew ArrayList
 
Dim txttmp() AsString
 
Dim tmp AsString
 
Dim i, j AsInteger
 
Do
 
tmp = SReader.ReadLine()
 
LoopUntil tmp <> "" Or SReader.Peek = -1
 
txttmp = Split(tmp, " ", 2)
 
altmp.Clear()
 
altmp.TrimToSize()
 
altmp.Add(txttmp(1))
 
inhalt.Add(txttmp(0), altmp)
 
Do
 
Do
 
tmp = SReader.ReadLine()
 
LoopUntil tmp <> "" Or SReader.Peek = -1
 
txttmp = Split(tmp, " ", 2)
 
altmp.Clear()
 
altmp.TrimToSize()
 
altmp.Add(txttmp(1))
 
If inhalt.ContainsKey(txttmp(0).ToString) Then
 
inhalt.Item(txttmp(0)).add(txttmp(1))
 
Else
 
inhalt.Add(txttmp(0), altmp)
 
EndIf
 
LoopUntil SReader.Peek = -1
 
Return inhalt

Es befindet sich also am Ende in den Hashtable Keys ein String-Objekt und in den Hashtable Daten ein Arraylist-Objekt.

Das ganz dient dazu ein Textfile auszulesen und nach schlüsselwörtern sortiert in ein Array zu schreiben. Die Schlüsselwörter sind immer das erste Wort.

Also ein solcher Text z.B.:

# dies ist ein Kommentar
#´und es geht mir gut
localhost 127.0.0.1
localhost enter=matrix
localhost 5

DerServer heist halt so

soll in etwa so sortiert in einer geeigneten Collection landen :

-Schlüssel---------Wert1----------------------------------Wert2--------------------- -Wert3-
----------------------------------------------------------------------------------------------------------
# ---------------------dies ist ein Kommentar--------- und es geht mir gut
localhost ----------127.0.0.1 -----------------------------enter=matris ----------------5
DerServer ----------heist halt so






Das ist mein anliegen und ich habe noch kein entsprechendes Array oder dergleichen gefunden. Anzahl der Schlüssel und anzahl der Werte weiß ich vorher nicht.

Grüße
Speedy
 
Hat sich erledigt, ich habe es jetzt anderst gelöst .....

ich erzeuge nun gleich eine XML-Datei.

Danke !
 
Warum löst du das nicht gleich mit einem Dataset, das kann man auch dynamisch ohne Datenbank aufbauen und kann mit Selektionen darauf zugreifen. Zudem kann man es an Steuerelemente binden, mit For Each durchlaufen, nach XML exportieren und importieren.
Ausserdem soll es performanter sein als das XML DOM zu benutzen.
 

Neue Beiträge

Zurück