1 Previous Next 

Serialize Arraylist (or another serializable class object)


To deep copy an object you can serialize it. Be aware that the class has to be serializable (see for that the tag in top of a class)

Module Module1
    Sub Main()
        Dim a As New ArrayList
        a.Add("Hello")
        a.Add("I")
        a.Add("am")
        a.Add("Here")
        Dim b As String = SerializeArraylist(a)
        Dim c As ArrayList = DeserializeArraylist(b)
        Console.WriteLine(b)
        For Each item In a
            Console.WriteLine(item)
        Next
        Console.ReadLine()
    End Sub
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Procedures
    'Serialize
    Private Function SerializeArraylist(ByVal _
    arraylst As ArrayListAs String
        Dim bf As New Runtime.Serialization.Formatters.Binary.BinaryFormatter
        Dim mem As New IO.MemoryStream
        bf.Serialize(mem, arraylst)
        Return Convert.ToBase64String(mem.ToArray())
    End Function
    'Deserialize
    Private Function DeserializeArraylist(ByVal _
    arraystring As StringAs ArrayList
        Dim bf As New Runtime.Serialization.Formatters.Binary.BinaryFormatter
        Dim mem As New IO.MemoryStream(Convert.FromBase64String(arraystring))
        Return DirectCast(bf.Deserialize(mem), ArrayList)
    End Function
End Module



1 Previous Next