溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

VB.NET如何實現(xiàn)集合存儲

發(fā)布時間:2021-12-02 10:15:35 來源:億速云 閱讀:303 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關(guān)VB.NET如何實現(xiàn)集合存儲,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

大多數(shù)程序處理對象集合而不是單個的對象。對于集合數(shù)據(jù),首先創(chuàng)建一個數(shù)組(或者是其他類型的集合,比如ArrayList或HashTable),用對象填充,然后一個Serialize方法就可以序列化這個集合,是不是很簡單?下面的例子,首先創(chuàng)建一個有兩個Person對象的ArrayList,然后序列化本身:

  1. Dim FS As New System.IO.FileStream _  

  2. ("c:\test.txt", IO.FileMode.Create)  

  3. Dim BinFormatter As New Binary
    .BinaryFormatter()  

  4. Dim P As New Person()  

  5. Dim Persons As New ArrayList  

  6. P = New Person()  

  7. P.Name = "Person 1" 

  8. P.Age = 35 

  9. P.Income = 32000 

  10. Persons.Add(P)  

  11. P = New Person()  

  12. P.Name = "Person 2" 

  13. P.Age = 50 

  14. P.Income = 72000 

  15. Persons.Add(P)  

  16. BinFormatter.Serialize(FS, Persons) 

以VB.NET集合存儲序列化數(shù)據(jù)的文件為參數(shù),調(diào)用一個BinaryFormatter實例的Deserialize方法,就會返回一個對象,然后把它轉(zhuǎn)化為合適的類型。下面的代碼反序列化文件中的所有對象,然后處理所有的Person對象:

  1. FS = New System.IO.FileStream _  

  2. ("c:\test.txt", IO.FileMode.
    OpenOrCreate)  

  3. Dim obj As Object  

  4. Dim P As Person(), R As
     Rectangle()  

  5. Do  

  6. obj = BinFormatter.
    Deserialize(FS)  

  7. If obj.GetType Is GetType
    (Person) Then  

  8. P = CType(obj, Person)  

  9. ' Process the P objext  

  10. End If  

  11. Loop While FS.Position 
    < FS.Length - 1  

  12. FS.Close() 

下面的例子調(diào)用Deserialize方法反序列化這個集合,然后把返回值轉(zhuǎn)換為合適的類型(Person):

  1. FS = New System.IO.FileStream
    ("c:\test.txt", IO.FileMode.
    OpenOrCreate)  

  2. Dim obj As Object  

  3. Dim Persons As New ArrayList  

  4. obj = CType(BinFormatter.
    Deserialize(FS), ArrayList)  

  5. FS.Close() 

關(guān)于“VB.NET如何實現(xiàn)集合存儲”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI