大家都知道大多数程序处理对象集合而不是单个的对象。这里我们就详细的介绍一下关于VB.NET集合存储的一些问题吧。对于集合数据,首先创建一个数组(或者是其他类型的集合,比如ArrayList或HashTable),用对象填充,然后一个Serialize方法就可以序列化真个集合,是不是很简单?下面的例子,首先创建一个有两个Person对象的ArrayList,然后序列化本身:
VB.NET集合存储代码:
- DimFSAsNewSystem.IO.FileStream_
- ("c:\test.txt",IO.FileMode.Create)
- DimBinFormatterAsNewBinary.BinaryFormatter()
- DimPAsNewPerson()
- DimPersonsAsNewArrayList
- P=NewPerson()
- P.Name="Person1"
- P.Age=35
- P.Income=32000
- Persons.Add(P)
- P=NewPerson()
- P.Name="Person2"
- P.Age=50
- P.Income=72000
- Persons.Add(P)
- BinFormatter.Serialize(FS,Persons)
以存储序列化数据的文件为参数,调用一个BinaryFormatter实例的Deserialize方法,就会返回一个对象,然后把它转化为合适的类型。下面的代码反序列化文件中的所有对象,然后处理所有的Person对象:
- FS=NewSystem.IO.FileStream_
- ("c:\test.txt",IO.FileMode.OpenOrCreate)
- DimobjAsObject
- DimPAsPerson(),RAsRectangle()
- Do
- obj=BinFormatter.Deserialize(FS)
- Ifobj.GetTypeIsGetType(Person)Then
- P=CType(obj,Person)
- 'ProcessthePobjext
- EndIf
- LoopWhileFS.Position<FS.Length-1
- FS.Close()
下面的例子调用Deserialize方法反序列化真个集合,然后把返回值转换为合适的类型(Person):
- FS=NewSystem.IO.FileStream("c:\test.txt",IO.FileMode.OpenOrCreate)
- DimobjAsObject
- DimPersonsAsNewArrayList
- obj=CType(BinFormatter.Deserialize(FS),ArrayList)
- FS.Close()
上述就是一个关与VB.NET集合存储的讲解,希望大家可以记下来作为以后的复习资料。
【编辑推荐】