0

我有 7 个变量的序列化类,这些变量被写入内存流,然后插入到数据库字段中。7 个变量都是四个字节,在写入数据库之前可能有数百条记录组合在一起。这成功了。

但是,当我从数据库中取回数据并对其进行反序列化时:

    rdr = cmd.ExecuteReader
    While rdr.Read()
        arr = rdr("BINPROFILE")
        ms.Write(arr, 0, arr.Length)
        ms.Position = 0
        SER = bf.Deserialize(ms)
    End While

我的变量“SER”是包含 7 个变量的类的实现,只读取前 7 个变量。

如何循环遍历整个内存流并读取其中包含的所有数据?

4

1 回答 1

0

SER 在循环的每次迭代中都会被覆盖,只剩下最后一条记录中的值。您需要将它们保存在数组或列表中,或者在循环中使用 then 。

SER = bf.Deserialize(ms)

此行将用新值替换 SER 变量中的任何内容,在您的情况下为 7 个变量。

于 2013-10-03T14:48:30.147 回答