Toon posts:

[Vb.net] zoeken in een HashTable

Pagina: 1
Acties:

Verwijderd

Topicstarter
Heren tweakers,

Voor een kennis ben ik een programma aan het maken waarmee adressen en nog wat zaken kunnen bijgehouden worden. Hiervoor programmeer ik voor het eerst in vb.net. Heb wel redelijke kennis van vb6 en andere functionele programemertalen.
Nu ben ik gekomen aan de wat algemenere functies zoals een functie die controleert of een adres reeds bestaat:

Ik heb een klasse Adres met volgende attributen:
+ id:integer (in de database is dit een autonummer veld)
- straatnaam:String
- huisnummer:integer
- bijnummer:String
- postcode:String

In die klasse heb ik ook een HashTable aangemaakt zodat ik mijn records in het geheugen heb
de key bevat het adres.id en de value is het object zelf(dus id, straatnaam, huisnummer, bijnummer en postcode)

Ik zou nu graag een functie maken waarmee ik eenvoudig kan kijken of er in de hashtable reeds een record zit met dezelfde straat, huisnummer, bijnummer en postcode.
Google, GoT en msdn leerden mij weinig bij hieromtrent. Alle voorbeelden bevatten telkens maar 2 attributen (key en value ipv key en een object als value)

Wie o wie kan mij de juist richting wijzen?

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:17
Als je dat wilt doen, dan kan je jouw Adres object zelf als key in je hashtable gaan gebruiken.
Echter, dan moet je er wel voor zorgen dat je de methods
code:
1
GetHashCode()

en
code:
1
Equals

overrided.

GetHashcode zou dan per adres een unieke hashcode moeten maken; in jouw geval zal je die hashcode dan baseren op straat, huisnummer, bijnummer en postcode.

Ff nog een bijkomend vraagje: je praat over het bijhouden van adressen; waar sla je die adressen op ?

[ Voor 13% gewijzigd door whoami op 07-06-2005 11:54 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op dinsdag 07 juni 2005 @ 11:54:
Als je dat wilt doen, dan kan je jouw Adres object zelf als key in je hashtable gaan gebruiken.
Echter, dan moet je er wel voor zorgen dat je de methods
code:
1
GetHashCode()

en
code:
1
Equals

overrided.

GetHashcode zou dan per adres een unieke hashcode moeten maken; in jouw geval zal je die hashcode dan baseren op straat, huisnummer, bijnummer en postcode.

Ff nog een bijkomend vraagje: je praat over het bijhouden van adressen; waar sla je die adressen op ?
Dit ga ik zeker eens proberen!
Die adressen komen uit een access database en bij het inlezen worden ze in de HashTable gestoken.

Verwijderd

Verwijderd schreef op dinsdag 07 juni 2005 @ 12:05:
[...]

Dit ga ik zeker eens proberen!
Die adressen komen uit een access database en bij het inlezen worden ze in de HashTable gestoken.
Is een query niet makkelijker dan?