C# 为什么我会得到一个零数组
myByte-所有字节均为零 a=“aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaC# 为什么我会得到一个零数组,c#,c#-2.0,bytearray,memorystream,C#,C# 2.0,Bytearray,Memorystream,myByte-所有字节均为零 a=“aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 当我怀疑你想打电话给阅读时,你打电话给写作的原因可能是什么。换句话说,您正在从一个新创建的(因此充满了零)数组写入MemoryStream,其
当我怀疑你想打电话给阅读时,你打电话给写作的原因可能是什么。换句话说,您正在从一个新创建的(因此充满了零)数组写入
MemoryStream
,其中包含序列化数据。使用Read
而不是Write
将从流读取到数组中
调用ToArray
会更简单,不过:
byte[] myByte = memoryStream.ToArray();
您正在将字节数组写入
内存流
,而不是相反。将Write
替换为read将解决您眼前的问题
但是MemoryStream
有一个ToArray()
方法,它已经实现了您想要的功能。无需以如此复杂的方式进行操作。原因:
二进制格式化程序
,因此内存流
甚至没有被写入如果(1)是正确的,在
memoryStream
和binaryFormatter
这两个方面都使用。据我所知,binaryFormatter没有Flush方法。我相信你是对的,但我读心术不如你好,所以我可以看出他指的是读而不是写。所以我猜为了编写memoryStream,需要一些额外的步骤。
byte[] myByte = memoryStream.ToArray();