[vb.net] variabelenaam samenstellen uit strings

Pagina: 1
Acties:

  • F97
  • Registratie: December 2001
  • Laatst online: 15-05-2024

F97

Fabian

Topicstarter
Ik wil een variabelenaam samenstellen uit twee strings, om zo weer aan een variabelenaam te komen die ik elders al gebruik.

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
Dim sarrGroepen As String() = {"Radiohead", "The Verve", "Wilco", "Muse"}
Dim sarrRadiohead As String() = {"OK Computer", "Amnesiac", "Kid A", "Hail to the thief"}

Do While i2 < sarrGroepen.Length
   Dim sGroep As String = sarrGroepen(i2) 'hier haal ik de groepsnaam op
   ...
   Dim sRecordsCollection As String = "sarr" + sGroep 'en hier stel ik dan sarrRadiohead bvb samen
   ....
   For Each sRecord As String In sRecordsCollection 'zou dan alle strings uit array sarrRadiohead moeten ophalen
                tnGroep.Nodes.Add(sRecord)
   Next
Loop


Zo bedoel ik het dus, maar werkt het niet. Hij voegt gewoon alle letters uit de string "sarrRadiohead" toe.

Is er een mogelijkheid om ziets te doen? Om dus een variabelenaam samen te stellen om zo een array ofzo aan te spreken met die naam?

  • PhoneTech
  • Registratie: Mei 2000
  • Laatst online: 11:48
kijk naar hashtables of hashmaps

Daar kan je een unique key aanmaken om het object te benaderen. VB.NET is compiled, dus variabele var namen is niet mogelijk

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 12:44

gorgi_19

Kruimeltjes zijn weer op :9

PhoneTech schreef op zondag 09 januari 2005 @ 15:51:
kijk naar hashtables of hashmaps

Daar kan je een unique key aanmaken om het object te benaderen. VB.NET is compiled, dus variabele var namen is niet mogelijk
Het kan wel met CodeDom, maar echt vrolijk wordt je daar niet van. Arraylist / HashTable / vergelijkbaar is hierbij idd een oplossing

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • dotcode
  • Registratie: Augustus 2003
  • Laatst online: 17-05 21:04

dotcode

///\00/\\

VB is gecompiled, maar je hebt altijd nog de compiler classes tot je beschikking in het framework. Of reflexy dat je misschien ook kan gebruiken. Genoeg mogelijkheden om coole dingen mee te doen.
Met properybags (hashtables) kan je ook een leuk effect berijken. je moet alleen wel rekening houden met een mumble cache (memoryleaks door het niet opruimen van waarden in hashtables).

  • F97
  • Registratie: December 2001
  • Laatst online: 15-05-2024

F97

Fabian

Topicstarter
Whoehoew, bedankt. Die hashtable heeft me aan het denken gezet. Nu doe ik het dus zo.

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 Dim mshsGroepen As Hashtable = New Hashtable
mshsGroepen.Add("Radiohead", sarrRadiohead)
mshsGroepen.Add("The Verve", sarrTheVerve)
mshsGroepen.Add("Wilco", sarrWilco)
mshsGroepen.Add("Muse", sarrMuse)

Dim i3 As Integer = 0
For Each sGroep As String In mshsGroepen.Keys
     tnGroepen.Nodes.Add(sGroep)

     Dim tnGroep As TreeNode = tnGroepen.Nodes(i3)
     i3 += 1

     For Each sRecord As String In mshsGroepen(sGroep)
       tnGroep.Nodes.Add(sRecord)
     Next
Next


Bedankt :-)