ArrayList
, ArrayIn VB.NET an ArrayList
can be converted to an array. This is possible with the ToArray
Function. With it we get an Object array from an ArrayList
.
ToArray
is useful—it is not the same as the ToArray
extension from System.Linq
. We can perform the conversion with just one line of code.
To start, we create an ArrayList
. All the elements in the ArrayList
are of type String
. This is important—when we call ToArray
, we get an Object array, not a String
array.
String
.String()
. This exception is reported.Module Module1 Sub Main() ' Create ArrayList. Dim list As ArrayList = New ArrayList() list.Add("Dot") list.Add("Net") list.Add("Perls") ' Get array of objects. Dim array() As Object = list.ToArray() For Each element In array ' Cast object to string. Dim value As String = element Console.WriteLine(value) Next End Sub End ModuleDot Net PerlsUnhandled Exception: System.InvalidCastException: Unable to cast object of type 'System.Object[]' to type 'System.String[]'.
The ArrayList
makes converting your collection to an array more difficult. If you use the List
type, you can convert to a typed array such as String()
. This results in clearer code.
We used the ToArray
function on the ArrayList
type to convert an ArrayList
to an Object()
array. We looked at the exception that is thrown when you try to cast the result array.