3

Can I get an example of how to make something like a Vector or an ArrayList in Visual Basic .NET?

6 Answers 6

13
Dim list As New ArrayList

or (equivalently):

Dim list As ArrayList = New ArrayList

If you want a generic List (very similiar to ArrayList):

Dim list As New List(Of String)

Also see the ArrayList and List documentation.

Sign up to request clarification or add additional context in comments.

2 Comments

+1 for mentioning List(Of T) - this is a better alternative than ArrayList.
ArrayList is going to be depricated and, from what I understand, isn't even available in some platforms such as Silverlight.
3

Try the following

Dim list As New ArrayList()
list.Add("hello")
list.Add("world")
For Each cur As String in list
  Console.WriteLine(cur)
Next

Comments

1
Module Module1

    Sub Main()
        Dim al As New ArrayList()
        al.Add("1")
        al.Add("2")
        al.Add("3")
    End Sub

End Module

Comments

1

If you happen to be using VB10 you should be able to use the following syntax.

Dim list As New List(Of Integer) From { 1, 2, 3, 4, 5 }

Comments

1

Add values

Dim list As New ArrayList
list.Add("One")
list.Add("Two")
list.Add("Three")

Parameter example

Module Module1

    Sub Main()
    ' Create an ArrayList and add two elements to it.
    Dim list As New ArrayList
    list.Add(5)
    list.Add(7)
    ' Use ArrayList as an argument to the method.
    Example(list)
    End Sub

    ''' <summary>
    ''' Receives ArrayList as argument.
    ''' </summary>
    Private Sub Example(ByVal list As ArrayList)
    Dim num As Integer
    For Each num In list
        Console.WriteLine(num)
    Next
    End Sub

End Module

Output

5 7

AddRange

Module Module1

    Sub Main()
    ' Create an ArrayList and add two elements.
    Dim list1 As New ArrayList
    list1.Add(5)
    list1.Add(7)
    ' Create a separate ArrayList.
    Dim list2 As New ArrayList
    list2.Add(10)
    list2.Add(13)
    ' Add this ArrayList to the other one.
    list1.AddRange(list2)
    ' Loop over the elements.
    Dim num As Integer
    For Each num In list1
        Console.WriteLine(num)
    Next
    End Sub

End Module

Output

5 7 10 13

Count, Clear

Module Module1

    Sub Main()
    ' Add two elements to the ArrayList.
    Dim list As New ArrayList
    list.Add(9)
    list.Add(10)
    ' Write the Count.
    Console.WriteLine(list.Count)
    ' Clear the ArrayList.
    list.Clear()
    ' Write the Count again.
    Console.WriteLine(list.Count)
    End Sub

End Module

Output

2 0

Add, remove elements

Module Module1

    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

End Module

Output

Perls

TryCast

Module Module1

    Sub Main()
    ' Create a new ArrayList.
    Dim list As New ArrayList
    list.Add("man")
    list.Add("woman")
    list.Add("plant")
    ' Loop over the ArrayList with a For loop.
    Dim i As Integer
    For i = 0 To list.Count - 1
        ' Cast to a string.
        Dim str As String = TryCast(list.Item(i), String)
        Console.WriteLine(str)
    Next i
    End Sub

End Module

Output

man woman plant

GetRange

Module Module1

    Sub Main()
    ' Create new ArrayList.
    Dim list1 As New ArrayList
    list1.Add("fish")
    list1.Add("amphibian")
    list1.Add("bird")
    list1.Add("plant")
    ' Create a new ArrayList and fill it with the range from the first one.
    Dim list2 As New ArrayList
    list2 = list1.GetRange(2, 2)
    ' Loop over the elements.
    Dim str As String
    For Each str In list2
        Console.WriteLine(str)
    Next
    End Sub

End Module

Output

bird plant

Comments

0

You can use this:

Dim a As New ArrayList()
a.Add("Item1")
a.Add("Item2")
a.Add("Item3")

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.