|
|
通过.net框架的序列化,可以让开发者非常方便的将任何一个vb.net里的对象,保存为2进制数据,或者从2进制数据中读取。从而让保存或者传送玩家数据等等变得非常容易。给大家一个例子:
比如一个开发者开发的游戏,人物角色有一下信息:
dim hp as UInt32
dim mp as UInt32
dim name as string
dim Level as Byte
要把这些保存到文件,常规的做法是把他们的指分别写入文件,然后又按照一定规律读取出来。要保存的信息少,肯定也不算麻烦,不过如果是几十几百个变量需要保存,那要是用这个方法的化就太麻烦了。解决的办法就是序列化。
比如现在我们把这些信息写到下面这个类:
<system.Serializable()> Public Class Player
private hp as UInt32
private mp as UInt32
private name as string
private Level as Byte
End Class
上面那个<>之间的标记这个类为可序列化。接下来就是要将这个类序列化了。
序列化需要两个东西,一个是流(文件流,内存流,什么都行),另外一个就是序列化类本身
dim bb as Player
bb.hp=1341
bb.mp=12331
bb.name="test"
bb.level=12
Dim FS as New IO.FileStream("test.dat",Create)
dim AA as New System.Runtime.Serialization.Fommatters.Binary.Binaryfomatter
aa.serialize(FS,bb)
fs.close
这样序列化就完成了,这个player类的所有信息就保存到test.dat里面了,要读取的化更方便
dim bb as Player
Dim FS as New IO.FileStream("test.dat",Open)
dim AA as New System.Runtime.Serialization.Fommatters.Binary.Binaryfomatter
bb=aa.Deserialize(fs)
fs.close |
|