Hoe converteer ik struct System.Byte byte[] naar een System.IO.Stream object in C#?

Hoe converteer ik struct System.Byte byte[] naar een System.IO.Stream object in C#?

Je'bent op zoek naar de MemoryStream.Write methode. Bijvoorbeeld, de volgende code zal de inhoud van een byte[] array in een geheugenstroom schrijven:

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

Als alternatief, kunt u een nieuw, niet-resizable MemoryStream object maken, gebaseerd op de byte array:

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

De algemene aanpak om naar elke stream (niet alleen MemoryStream) te schrijven is om BinaryWriter te gebruiken:

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