MemoryStream.Position或MemoryStream.Seek不起作用(Silverlight)

时间:2009-12-14 06:58:32

标签: silverlight silverlight-4.0 memorystream

我在silverlight应用程序中有一个内存流。我必须将此内存流复制到文件流对象。如果我打电话:

memoryStream.Position = 0;
memoryStream.Seek(0,SeekOrigin.Begin);

它不起作用,我调试应用程序,检查内存流的属性,并且位置仍然指向文件的末尾。有线索吗?

1 个答案:

答案 0 :(得分:1)

是否有可能在调试器中触发了另一个属性,并读取了流?

而不是使用调试器,如果您记录(或在消息框上显示)会发生什么:

Log("Position = " + stream.Position);
stream.Position = 0;
Log("Position = " + stream.Position);

两次显示相同的非零数字吗?我发现很难相信MemoryStream已经破碎了。

顺便说一句,使用MemoryStream进行复制比使用手动复制所有内容更简单的方法是使用FileStream作为参数调用WriteTo