Come posso convertire struct System.Byte byte[] in un oggetto System.IO.Stream in C#?

Come posso convertire struct System.Byte byte[]in un oggetto System.IO.Stream in C#?

State cercando il metodo MemoryStream.Write. Per esempio, il seguente codice scriverà il contenuto di un array byte[]in un flusso di memoria:

byte[] myByteArray = new byte[10];
MemoryStream stream = new MemoryStream();
stream.Write(myByteArray, 0, myByteArray.Length);

In alternativa, potreste creare un nuovo oggetto MemoryStream non ridimensionabile basato sull'array di byte:

byte[] myByteArray = new byte[10];
MemoryStream stream = new MemoryStream(myByteArray);
Commentari (5)

L'approccio generale per scrivere su qualsiasi flusso (non solo su MemoryStream) è usare BinaryWriter:

static void Write(Stream s, Byte[] bytes)
{
    using (var writer = new BinaryWriter(s))
    {
        writer.Write(bytes);
    }
}
Commentari (0)