如何将structSystem.Bytebyte[]转换为c#中的System.IO.Stream对象?
System.Byte
byte[]
System.IO.Stream
看看MemoryStream类。
MemoryStream
您正在寻找MemoryStream.Write方法
MemoryStream.Write
例如,以下代码将byte[]数组的内容写入内存流:
byte[] myByteArray = new byte[10];MemoryStream stream = new MemoryStream();stream.Write(myByteArray, 0, myByteArray.Length);
或者,您可以根据字节数组创建一个新的、不可调整大小的MemoryStream对象:
byte[] myByteArray = new byte[10];MemoryStream stream = new MemoryStream(myByteArray);
写入任何流(不仅是MemoryStream)的一般方法是使用BinaryWriter:
BinaryWriter
static void Write(Stream s, Byte[] bytes){using (var writer = new BinaryWriter(s)){writer.Write(bytes);}}
将字节数组转换为流的最简单方法是使用MemoryStream类:
Stream stream = new MemoryStream(byteArray);
如果您在此处的其他MemoryStream示例中遇到错误,则需要将位置设置为0。
public static Stream ToStream(this bytes[] bytes){return new MemoryStream(bytes){Position = 0};}