关于序列化的问题
public byte[] getDataSetSer()
{
DataSet ds = getDataSet();
BinaryFormatter bf = new BinaryFormatter();
MemoryStream ms = new MemoryStream();
bf.Serialize(ms, ds);
ms.Close();
return ms.ToArray();
}
代码如上,我的问题是ms.Close() 流已经关闭了 为什么用return ms.ToArray()返回还能得到正确的结果。
不太理解。
第二个问题:
byte[] data;
(1) MemoryStream ms1 = new MemoryStream(data);
(2) MemoryStream ms2 = new MemoryStream();
ms2.Write(data, 0, data.Length);
(1)和(2)的代码是等效的吗。
因为每次解压缩时都要用到此段代码,如
private byte[] myDeCompress(byte[] data)
{
MemoryStream input = new MemoryStream();
input.Write(data, 0, data.Length);
input.Position = 0;
GZipStream gstream = new GZipStream(input, CompressionMode.Decompress, true);
........
}
本人对流这方面实在有些迷糊 请高手指点! 谢谢!