其他分享
首页 > 其他分享> > VB.net的序列化与反序列化

VB.net的序列化与反序列化

作者:互联网

废话
最近需要做一个功能就是保存一个类
这个类里面放了巨量的变量,为了保存它我想了很多办法,主要两个
1.序列化与反序列化
2.用反射来遍历整个类保存到txt中
反射是我最想用的办法,因为没用过,但是看了很多都没有看明白。只好用了序列化

正文
主要流程就是利用Formatter对象的Serialize方法来将Filestream序列化

类的序列化

<Serializable>//这个东西一定要加,他决定能不能序列化
Public Class Class1
    Public a As Int16 = 1
    Dim b As Int16 = 2
    Dim c As Int16 = 3
End Class

        Dim matter As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
        Dim fStream As New FileStream(“Save.dat”, FileMode.Create)
        CLDs.a = 4 //这里将公开变量改一下做个实验
        matter.Serialize(fStream, CLDs)
        fStream.Close()

将序列化后的类再反序列化赋给一个类

     Dim fStream As New FileStream(“Save.dat”, FileMode.Open)
        Dim sfFormatter As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
        Clds2 = sfFormatter.Deserialize(fStream)
        fStream.Close()
        MsgBox(Clds2.a, 1, "成功!")

在序列化时会有一个.dat文件在bin文件夹下产生,必须要对它进行读取才能反序列化,

标签:Dim,VB,Int16,fStream,dat,New,net,序列化
来源: https://blog.csdn.net/qq_41977299/article/details/114374048