【发布时间】:2017-03-08 02:06:27
【问题描述】:
这是我的数组:
Public RacersArray(AmountOfRacers - 1) As Racer
<Serializable()> Public Structure Racer
Public Name As String
Public CleatSize As String
Public SkillLevel As String
Public Height As String
Public Team As String
Public CompatibilityArr() As String
End Structure
<Serializable()> Public Structure Compatibility
Public Name As String
Public Score As Integer
End Structure
下面是我用来尝试从文件保存和加载的代码。该文件正在填充看起来像正确的乱码,但是在加载数组时,它的索引仍然是“什么都没有”
Public Sub RacersInputSAVE()
Dim bf As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
Dim fStream As New FileStream(SaveLocation, FileMode.Create)
bf.Serialize(fStream, InputRacers.RacersArray) ' write to file
fStream.Close()
End Sub
Public Sub RacersInputLOAD()
Dim bf As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
Dim fStream As New FileStream(LoadLocation, FileMode.Open)
InputRacers.RacersArray = bf.Deserialize(fStream) ' read from file
fStream.Close()
End Sub
【问题讨论】:
-
实际上您的代码应该可以正常工作。你确定
SaveLocation和LoadLocation指向同一个文件吗?也许拥有一个FileLocation并将其作为参数传递给您的潜艇会更好。也可以考虑试试 Using 块,它更直观。
标签: arrays vb.net serialization structure record