现在我需要序列化我的一个对象,其中包含更多我自己的类对象.但问题是我不想将其保存在文件中然后将其检索到内存流中.有没有办法直接将我的对象序列化为流.
我使用BinaryFormatter进行seializing.首先,我直接使用MemoryStream来获取序列化输出,但是在反序列化时它给出了错误.但后来当我用文件序列化然后关闭它并再次重新打开它时,它完美地工作.但是我想把它直接带入流中,因为在我的程序中我需要经常将它传递到网络客户端.反复使用文件可能会降低我的软件速度.
希望我明白我的问题.任何Sugetion?
如果你试图从同一个反序列化MemoryStream,你有没有记得首先回到流的开头?
var foo = "foo";
var formatter = new BinaryFormatter();
using (var stream = new MemoryStream())
{
// Serialize.
formatter.Serialize(stream, foo);
// Deserialize.
stream.Seek(0, SeekOrigin.Begin);
foo = formatter.Deserialize(stream) as string;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
197 次 |
| 最近记录: |