Avatar billede noxiaz Nybegynder
05. september 2007 - 12:33 Der er 10 kommentarer og
1 løsning

Loop hashtable

Hey ! :)
Jeg har coden:
public static Hashtable mainHt = new Hashtable();
public static void hAdd(string database, string key, string value)
  {
    if (mainHt.ContainsKey(database) == false) { mainHt.Add(database, new Hashtable()); }
    Hashtable db = (Hashtable)mainHt[database];
    db.Add(key, value);
  }

Lige nu ser min hashtable ud som en ini fil, med section,item og value..

Vil gerne vide hvordan jeg kan loop og udskrive alt hvad databasen indeholder, har prøvet en masse men uden hjælp, og håber nu i kan hjælpe mig :)
Avatar billede arne_v Ekspert
05. september 2007 - 12:52 #1
IDictionaryEnumerator en = dinhashtable.GetEnumerator();
        while(en.MoveNext())
        {
            // brug en.Key og en.Value
        }
Avatar billede noxiaz Nybegynder
05. september 2007 - 14:10 #2
arne_, det er allerede prøvet, .key returner det den skal men value returner
Value: System.Collections.Hashtable - og ved ikke lige hvordan jeg skal fix det..
Avatar billede arne_v Ekspert
05. september 2007 - 14:15 #3
en.Value indeholder en ny Hashtable, som du saa skal iterere igennem i en anden loekke
Avatar billede noxiaz Nybegynder
05. september 2007 - 14:17 #4
Hmm kan du vise mig, for sad igår 2 timer med hjælp fra en anden og vi fik ikke løst det :/ Måske du kan? :)
Avatar billede arne_v Ekspert
05. september 2007 - 14:38 #5
IDictionaryEnumerator en = dinhashtable.GetEnumerator();
        while(en.MoveNext())
        {
            IDictionaryEnumerator en2 = ((Hashtable)en.Value).GetEnumerator();
            while(en2.MoveNext())
            {
                  // brug en.Key, en2.Key og en2.Value
            }           
        }
Avatar billede noxiaz Nybegynder
05. september 2007 - 14:47 #6
Damn det der er bare kanon..!!! :D sys jeg havde prøvet det før.. :S Men send mig et svar!! :D Wee
Avatar billede arne_v Ekspert
05. september 2007 - 14:50 #7
svar
Avatar billede arne_v Ekspert
05. september 2007 - 14:51 #8
Jeg mener ogsaa at det kan kodes paa en anden maade end med GetEnumerator, men det var
lige hvad jeg kunne komme paa.
Avatar billede nielle Nybegynder
05. september 2007 - 15:04 #9
Korrekt, det kan også laves vha. foreach-løkker:

            foreach (object key1 in mainHt.Keys)
            {
                Hashtable value1 = (Hashtable)mainHt[key1];
                foreach (object key2 in value1.Keys)
                {
                    // brug key1, key2 og value1[key2]
                }
            }
Avatar billede noxiaz Nybegynder
05. september 2007 - 15:18 #10
Mange tak for svaret arne_v

Nielle :) Tak til dig også :)
Avatar billede nielle Nybegynder
05. september 2007 - 15:38 #11
:^)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester