VB.NET集合存储内容解析

今天在这里,大家会详细了解到有关VB.NET集合存储的相关应用方法,希望能对大家有所帮助。大多数程序处理对象集合而不是单个的对象。对于集合数据,首先创建一个数组(或者是其他类型的集合,比如ArrayList或HashTable),用对象填充,然后一个Serialize方法就可以序列化这个集合,是不是很简单?下面的例子,首先创建一个有两个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集合存储序列化数据的文件为参数,调用一个BinaryFormatter实例的Deserialize方法,就会返回一个对象,然后把它转化为合适的类型。下面的代码反序列化文件中的所有对象,然后处理所有的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() 

下面的例子调用Deserialize方法反序列化这个集合,然后把返回值转换为合适的类型(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() 

VB.NET集合存储的相关方法就为大家介绍到这里。

【编辑推荐】

  1. VB.NET对象存储各种方法简介
  2. VB.NET读写文本文件具体代码编写方式介绍
  3. VB.NET调用DLL实现方法解析
  4. 如何正确实现VB.NET重载Windows控件
  5. VB.NET类添加方法具体操作技巧总结

当前名称:VB.NET集合存储内容解析
转载来于:http://www.mswzjz.cn/qtweb/news20/307620.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能