DOBON.NET DOBON.NETプログラミング掲示板過去ログ

構造体のファイル保存(読込)

環境/言語:[WinXP、VB2005]
分類:[.NET]

VB2005はじめたばかりです。
現在このような構造体を扱っているのですが

<Serializable()> Public Structure Data
  Dim a as Ushort
  Dim b as Ushort
  Dim c as Ushort
  Dim aaa() as Ushort
  Public Initialize
   Redim aaa(5)
  End Initialize
End Structure
Public DataSet(10) as Data

構造体の書き込みは
Dim fmt As New   System.Runtime.Serialization.Formatters.Binary.BinaryFormatter()
   Using file As New System.IO.FileStreampath,System.IO.FileMode.CreateNew)
      fmt.Serialize(file,DataSet)
   End Using

構造体の読み込みは
   Using file As New System.IO.FileStream(path, System.IO.FileMode.Open)
      DataSet(?) = DirectCast(fmt.Deserialize(file),Data)
   End Using

読み込みのところで1次元配列エラーでうまく読み込めません。

どなたかご教授お願いします。
はじめまして、引っ込んだ(略)と申します。
お答えいたします。

以下のコードで試してみてください。

<Serializable()> Public Structure Data
Dim a As UShort
Dim b As UShort
Dim c As UShort
Dim aaa() As UShort
Public Sub Initialize()
ReDim aaa(5)
End Sub
End Structure

Public DataSet(10) As Data

'構造体の書き込みは
Dim fmt As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter()
Using file As New System.IO.FileStream(path, System.IO.FileMode.CreateNew)
fmt.Serialize(file, DataSet)
End Using

'構造体の読み込みは
Using file As New System.IO.FileStream(path, System.IO.FileMode.Open)
DataSet = DirectCast(fmt.Deserialize(file), Data())
End Using

以上です。
■No21431に返信(引っ込んだ(略)さんの記事)
引っ込んだ(略)さん ありがとうございました。

見事解決しました。
お世話になりました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板