[c#] Verzameling

Pagina: 1
Acties:

  • Bint
  • Registratie: Juli 2002
  • Laatst online: 00:28
Sorry, nog een vraag vandaag...

Ik heb een verzameling, bijvoorbeeld, die telkens uit een nummer/naam en object bestaan:

bla1, obj1
bla1, obj2
bla1, obj3
bla1, obj4
bla2, obj5
bla2, obj6
bla2, obj7

Nu wil ik deze opslaan, en had hiervoor al een hashtable gebruikt, maar ik wil vervolgens kunnen opvragen hoeveel objecten er bestaan in groep bla1, of bla2. Ook wil ik graag kunnen opvragen hoeveel verschillende van die groepen er zijn. Is een hashtable hier de juiste keuze, of kan ik beter iets anders gebruiken?

Ik kan trouwens niet gebruik maken van generics, omdat ik van .Net 1.1 gebruik maak

Memories of yesterday, will grow, but never die


  • whoami
  • Registratie: December 2000
  • Laatst online: 07-04 22:26
Als je gewoon een hashtable gebruikt, kan er voor iedere key slechts 1 element zijn.
Als je per sleutel meerdere elementen wilt, dan kan je natuurlijk ipv het element rechtstreeks in de hashtable op te slaan, een arraylist als element gebruiken.
Op die manier kan je nog altijd snel aan alle elementen die tot key 'A' behoren bv.

code:
1
2
3
4
5
6
7
8
Hashtable bliep = new Hashtable();

if( bliep.ContainsKey (bla) == false )
{
     bliep.Add (bla, new ArrayList());
}

((ArrayList)bliep[bla]).Add (element1);


Als je dan wil weten hoeveel elementen je hebt in group "Melk", dan kan je dit doen:
code:
1
((ArrayList)theHashTable["Melk"]).Count


En als je wilt weten hoeveel groepen je hebt, vraag je het aantal keys op dat er in je hashtable staan.

[ Voor 21% gewijzigd door whoami op 09-03-2006 15:33 ]

https://fgheysels.github.io/


  • Bint
  • Registratie: Juli 2002
  • Laatst online: 00:28
thanks,

maar ben zelf een half uur geleden ook achter deze oplossing gekomen ;)

Memories of yesterday, will grow, but never die