Avatar billede lasserasch Juniormester
25. marts 2008 - 16:25 Der er 6 kommentarer og
2 løsninger

løkke sig gennem sit hashtable, hvordan gøres det?

Hejsa.

Jeg har et hashtable som indeholder objekter i mit program.

I et datatable kan man gå disse igennem med en "foreach" løkke.
Men jeg kan ikke lige umiddelbart se hvordan man gør det med et hashtable.


Som nødløsning har jeg gjort dette :

Int32 I = 0;
while (I < HashTable.Count)
{
nytobjekt = HashTable[I] as nytobjekt;
I++;
}

Men det kan jeg kun gøre fordi key værdierne er fortløbende i mit hashtable og starter med 0.

Det giver problemer når jeg sletter en record i hash tabellen.

Nogen der ved hvordan man løber tabellen igennem på den "rigtige" måde?



Mvh.
Lasse
Avatar billede softspot Forsker
25. marts 2008 - 16:29 #1
Det må være muligt at gøre sådan (én af metoderne):

foreach(string key in HashTable.Keys) {
  nytobjekt = (nytobjekt)HashTable[key];
}
Avatar billede arne_v Ekspert
25. marts 2008 - 16:30 #2
foreach(DictionaryEntry de in HashTable)
{
  // brug de.Key og de.Value
}

hvis jeg husker rigtigt
Avatar billede bitmatic Nybegynder
25. marts 2008 - 16:53 #3
Hvis dine keys er fortløbende numre, og du har brug for at iterere igennem elementerne på den måde.... Hvorfor så bruge en Hashtable ???
Avatar billede softspot Forsker
25. marts 2008 - 17:07 #4
bitmatic >> Det kunne være den HashTable blev brugt i forskellige scenarier, så denne iteration blot var en af måderne hvorpå den skulle aflæses... :)
Avatar billede lasserasch Juniormester
26. marts 2008 - 10:09 #5
Hejsa...

Det er et static hashtable som indlæses ved program opstart. Tabellen bruges i et kalkulations system, hvor det indeholder alle kalkulationerne og disses forskellige andre objekter såsom Priser, produkter osv...

Nogle gange har jeg brug for at slette elementer i tabellen, f.eks. når et produkt, pris eller kalkulation slettes fra SQL databasen.

Og ja, tabellen bruges i mange forskellige sammenhænge, både i kalkulationsoversigter, detalje billeder til statistik generering, beregninger, udskrifter osv.

Jeg prøver mig frem i aften med jeres forslag. Tak for indput drenge...

Smid svar for points :-)

/Lasse
Avatar billede softspot Forsker
26. marts 2008 - 10:13 #6
Velbekomme :)
Avatar billede arne_v Ekspert
27. marts 2008 - 00:50 #7
svar
Avatar billede softspot Forsker
27. marts 2008 - 10:42 #8
Tak for point :)
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