VB.NET序列化实现方式简单介绍

开发 后端
当我们在进行VB.NET序列化操作的结束的时候,需要注意的是要关闭流。同样还可以以相类似的方式来进行反序列化的操作。

序列化在编程人员眼中是一个即重要又比较难以掌握的知识点。我们会为大家以一个最简单的例子对VB.NET序列化做一个详细的介绍。希望可以帮助初学者们初步的掌握这方面的知识点,增加理解程度。#t#

序列化的基本方式:将对象送给Formatter,Formatter将其序列化之后会形成一个流。这个流可以是文件流,或者其他的。

在这里,我们将一个随机生成的数组进行二进制序列化,并保存到文件;然后把它从文件当中取出,进行反序列化重新得到这个数组。

首先是定义数组:

  1. Dim nums(10) As Integer 

然后是生成数组内容:

  1. Dim i As Integer  
  2. For i = 0 To 10  
  3. nums(i) = Int(Rnd() 
    * 500) + 100  
  4. Next 

VB.NET序列化是通过Formatter对象来实现的。我们要新建一个Formatter对象:

  1. Dim sfFormatter As New 
    System.Runtime.Serialization.
    Formatters.Binary.BinaryFormatter 

BinaryFormatter是进行二进制序列化的。其它的序列化方式你可以在Runtime.Serialization.Formatters中找到。

我们还要有一个流来作为序列化的输出:

  1. Dim fStream As New 
    FileStream(“1.dat”, 
    FileMode.Create) 

准备工作完了,现在可以调用Formatter的Serialize方法来进行序列化了:

  1. sfFormatter.Serialize
    (fStream, nums) 

VB.NET序列化的***不要忘了关闭流:

  1. fStream.Close() 

反序列化的方式大同小异,只不过调用的是Formatter的Deserialize方法。代码是这样的:

  1. Private Sub Deserialize()  
  2. Dim fStream As New FileStream
    (“1.dat”, FileMode.Open)  
  3. Dim sfFormatter As New System.
    Runtime.Serialization.Formatters.
    Binary.BinaryFormatter  
  4. nums = sfFormatter.Deserialize
    (fStream)  
  5. fStream.Close()  
  6. End Sub 

 

VB.NET序列化就这么简单。这里只是序列化整数数组。如果你要对自定义类的对象进行序列化,你需要在类的定义前面加上:

  1. < Serializable()>  

对于VB.NET序列化还有更高级的应用,比方你可以指定类中的哪些成员不能被序列化,以及定义自己的序列化接口。本文到此为止。

责任编辑:曹凯 来源: 博客园
相关推荐

2010-01-07 15:49:10

VB.NET DoLoop

2009-10-12 13:19:14

VB.NET线程同步

2009-11-10 10:28:20

VB.NET诞生

2010-01-13 18:01:43

VB.NET数组初始化

2010-01-07 16:40:13

VB.NET一维数组

2009-08-18 16:57:24

VB.NET和C#

2009-11-02 10:36:16

VB.NET Sub

2010-01-19 10:03:35

VB.NET Labe

2010-01-08 18:31:45

VB.NET历史菜单

2010-01-15 19:17:23

2010-01-15 18:12:28

VB.NET超链接

2009-10-23 17:22:48

VB.NET编程

2010-01-12 18:12:58

VB.NET事件

2010-01-15 10:56:50

VB.NET继承实现多

2010-01-15 15:03:23

VB.NET对象变量声

2009-10-16 13:26:53

VB.NET Exce

2009-10-28 09:55:29

VB.NET MyCl

2010-01-07 16:51:56

VB.NET窗体钩子

2010-01-22 10:41:33

VB.NET声明结构

2009-11-10 12:42:47

VB.NET Prin
点赞
收藏

51CTO技术栈公众号