Convertir un flux en tableau d'octets en C#

Muhammad Maisam Abbas 11 décembre 2023
  1. Convertir Stream en byte[] avec la fonction Stream.CopyTo() en C#
  2. Convertissez MemoryStream en byte[] avec la fonction MemoryStream.ToArray() en C#
Convertir un flux en tableau d'octets en C#

Ce didacticiel présentera des méthodes pour convertir un flux en un tableau d’octets en C#.

Convertir Stream en byte[] avec la fonction Stream.CopyTo() en C#

La fonction Stream.CopyTo(memoryStream) copie les octets du Stream vers le memoryStream en C#. Nous pouvons utiliser la fonction Stream.CopyTo() avec l’objet de la classe MemoryStream pour convertir un flux en un tableau d’octets. L’exemple de code suivant nous montre comment convertir un flux en tableau d’octets avec la fonction Stream.CopyTo() en C#.

using System;
using System.IO;

namespace stream_to_byte_array {
  class Program {
    public static byte[] streamToByteArray(Stream input) {
      MemoryStream ms = new MemoryStream();
      input.CopyTo(ms);
      return ms.ToArray();
    }
    static void Main(string[] args) {}
  }
}

Dans le code ci-dessus, le streamToByteArray() prend un objet Stream comme paramètre, convertit cet objet en byte[], et renvoie le résultat. Nous créons l’objet MemoryStream ms pour stocker une copie du contenu du flux input. Nous copions le contenu du flux input dans le flux mémoire ms avec la fonction input.CopyTo(ms) en C#. Nous retournons le contenu copié sous forme de tableau avec la fonction ms.ToArray().

Convertissez MemoryStream en byte[] avec la fonction MemoryStream.ToArray() en C#

Dans la méthode ci-dessus, nous créons un Memorystream pour convertir un Stream en byte[]. Si nous avons un MemoryStream au lieu d’un Stream, nous pouvons utiliser la fonction MemoryStream.ToArray(). La fonction MemoryStream.ToArray() convertit le contenu du MemoryStream en un tableau d’octets en C#. Le type de retour de la fonction MemoryStream.ToArray() est byte[]. L’exemple de code suivant nous montre comment convertir un MemoryStream en byte[] avec la fonction MemoryStream.ToArray() en C#.

MemoryStream ms = new MemoryStream();
byte[] byteArray = ms.ToArray();

Nous avons converti l’objet MemoryStream ms en byteArray avec la fonction ms.ToArray() en C#.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Article connexe - Csharp Stream

Article connexe - Csharp Byte Array