这里是我的数组:试图保存结构文件和加载的文件从一个数组(序列化,反序列化)
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'并将其作为参数传递给你的潜艇会更好。另外考虑尝试一个使用块,它更直观。 – tinstaafl