Add new value to integer array (Visual Basic 2010)

arrays, vb.net

Solution

Use ReDim with Preserve to increase the size of array with preserving old values.

ReDim in loop is advisable when you have no idea about the size and came to know for increasing the Array size one by one.

Dim TeamIndex(), i As Integer

For i = 0 to 100
     ReDim Preserve TeamIndex(i)
    TeamIndex(i) = <some value>
Next

If you to declare the size of array at later in code in shot then use

 ReDim TeamIndex(100)

So the code will be :

Dim TeamIndex(), i As Integer
ReDim TeamIndex(100)
For i = 0 to 100
    TeamIndex(i) = <some value>
Next

You can Use the ArrayList/List(Of T) to use Add/Remove the values more dynamically.

 Sub Main()
    ' Create an ArrayList and add three strings to it.
    Dim list As New ArrayList
    list.Add("Dot")
    list.Add("Net")
    list.Add("Perls")
    ' Remove a string.
    list.RemoveAt(1)
    ' Insert a string.
    list.Insert(0, "Carrot")
    ' Remove a range.
    list.RemoveRange(0, 2)
    ' Display.
    Dim str As String
    For Each str In list
        Console.WriteLine(str)
    Next
    End Sub

List(Of T) MSDN

List(Of T) DotNetperls

Problem

I've a dynamic integer array to which I wish to add new values. How can I do it? ``` Dim TeamIndex(), i As Integer For i = 0 to 100 'TeamIndex(i).Add = <some value> Next ```

Original source