自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

VB.NET序列化實(shí)現(xiàn)方式簡單介紹

開發(fā) 后端
當(dāng)我們在進(jìn)行VB.NET序列化操作的結(jié)束的時候,需要注意的是要關(guān)閉流。同樣還可以以相類似的方式來進(jìn)行反序列化的操作。

序列化在編程人員眼中是一個即重要又比較難以掌握的知識點(diǎn)。我們會為大家以一個最簡單的例子對VB.NET序列化做一個詳細(xì)的介紹。希望可以幫助初學(xué)者們初步的掌握這方面的知識點(diǎn),增加理解程度。#t#

序列化的基本方式:將對象送給Formatter,F(xiàn)ormatter將其序列化之后會形成一個流。這個流可以是文件流,或者其他的。

在這里,我們將一個隨機(jī)生成的數(shù)組進(jìn)行二進(jìn)制序列化,并保存到文件;然后把它從文件當(dāng)中取出,進(jìn)行反序列化重新得到這個數(shù)組。

首先是定義數(shù)組:

  1. Dim nums(10) As Integer 

然后是生成數(shù)組內(nèi)容:

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

VB.NET序列化是通過Formatter對象來實(shí)現(xiàn)的。我們要新建一個Formatter對象:

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

BinaryFormatter是進(jìn)行二進(jìn)制序列化的。其它的序列化方式你可以在Runtime.Serialization.Formatters中找到。

我們還要有一個流來作為序列化的輸出:

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

準(zhǔn)備工作完了,現(xiàn)在可以調(diào)用Formatter的Serialize方法來進(jìn)行序列化了:

  1. sfFormatter.Serialize
    (fStream, nums) 

VB.NET序列化的***不要忘了關(guān)閉流:

  1. fStream.Close() 

反序列化的方式大同小異,只不過調(diào)用的是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序列化就這么簡單。這里只是序列化整數(shù)數(shù)組。如果你要對自定義類的對象進(jìn)行序列化,你需要在類的定義前面加上:

  1. < Serializable()>  

對于VB.NET序列化還有更高級的應(yīng)用,比方你可以指定類中的哪些成員不能被序列化,以及定義自己的序列化接口。本文到此為止。

責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2010-01-07 15:49:10

VB.NET DoLoop

2009-11-10 10:28:20

VB.NET誕生

2009-10-12 13:19:14

VB.NET線程同步

2009-08-18 16:57:24

VB.NET和C#

2010-01-07 16:40:13

VB.NET一維數(shù)組

2009-11-02 10:36:16

VB.NET Sub

2010-01-13 18:01:43

VB.NET數(shù)組初始化

2010-01-08 18:31:45

VB.NET歷史菜單

2010-01-15 18:12:28

VB.NET超鏈接

2010-01-15 19:17:23

2010-01-19 10:03:35

VB.NET Labe

2009-10-28 09:55:29

VB.NET MyCl

2009-10-16 13:26:53

VB.NET Exce

2009-10-23 17:22:48

VB.NET編程

2010-01-12 18:12:58

VB.NET事件

2010-01-07 16:51:56

VB.NET窗體鉤子

2010-01-15 10:56:50

VB.NET繼承實(shí)現(xiàn)多

2010-01-22 17:12:08

VB.NET訪問Ifr

2010-01-15 15:03:23

VB.NET對象變量聲

2009-11-03 14:13:23

VB.NET C#
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號