Dynamic Array in VB 2008

This works in VB 6:

Partner() As String

Sub ReDimArray()
    ReDim Partner(0) As String
    Partner(0) = "Jaes"
    MsgBox Partner(0)  '<-- returns "Jaes"

    ReDim Preserve Partner(1) As String
    Partner(1) = "Mike"   '<-- returns "Jaes"

'etc
End Sub

How is this done in VB 2008

Thank you.
LVL 34
Mike EghtebasDatabase and Application DeveloperAsked:
Who is Participating?
 
Mike TomlinsonConnect With a Mentor Middle School Assistant TeacherCommented:
You could use essentially the same code...but why would you want to?

Use a List(Of String) instead:

    Dim Partner As New List(Of String)

    ...
        Partner.Add("Jaes")
        Partner.Add("Mike")

You can access it like a traditional array:

    MessageBox.Show(Partner(0)) ' <-- "Jaes"

...and it GROWS automatically to accommodate the entries you add.

You can even remove from the middle and everything shifts down to fill the "hole".

See:
http://msdn.microsoft.com/en-us/library/6sh2ey19(VS.80).aspx
0
 
EYoungCommented:
0
 
ZhaolaiCommented:
This works in vb 2008:
Dim Partner() As String

    Sub ReDimArray()
        ReDim Partner(0)
        Partner(0) = "Jaes"
        MsgBox(Partner(0))  '<-- returns "Jaes"

        ReDim Preserve Partner(1)
        Partner(1) = "Mike"   '<-- returns "Jaes"

        'etc
    End Sub

Open in new window

0
 
Mike EghtebasDatabase and Application DeveloperAuthor Commented:
Hi Idle_Mind,

Your solution is the best practice and very much appreciated.

Hi Zhaolai,

Thank you for your post. I was looking for 2008-specific solution like what Idle_Mind has posted.

Thank you
0
 
Mike EghtebasDatabase and Application DeveloperAuthor Commented:
EYoung,

My apology for not paying a good attention of your post. I will request to reopen the question and give your fair share.

Thank you,

Mike
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.