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) Public Class Test
'Sample to try it
    Public shared sub main
    As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim a As New ArrayList
        a.Add("Hello")
        a.Add("I")
        a.Add("am")
        a.Add("Here")
        Dim b As String = SerializeArraylist(a)
        MessageBox.Show(b)
        Dim c As ArrayList = DeserializeArraylist(b)
    End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'Procedures
    Private Function SerializeArraylist(ByVal _
    arraylst As ArrayList) As 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
    Private Function DeserializeArraylist(ByVal _
    arraystring As String) As 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 Class



1 Previous Next