C# でストリームをバイト配列に変換する

Muhammad Maisam Abbas 2023年1月30日 2021年3月24日
  1. C# の Stream.CopyTo() 関数を使用して、Streambyte[] に変換する
  2. C# の MemoryStream.ToArray() 関数を使用して、MemoryStreambyte[] に変換する
C# でストリームをバイト配列に変換する

このチュートリアルでは、C# でストリームをバイト配列に変換する方法を紹介します。

C# の Stream.CopyTo() 関数を使用して、Streambyte[] に変換する

Stream.CopyTo(memoryStream) 関数はからバイトをコピーします C# の memoryStream への StreamStream.CopyTo() 関数を MemoryStream クラスのオブジェクトと一緒に使用して、ストリームをバイト配列に変換できます。次のコード例は、C# の Stream.CopyTo() 関数を使用してストリームをバイト配列に変換する方法を示しています。

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)
        {
        }
    }
}

上記のコードでは、streamToByteArray()Stream オブジェクトをパラメーターとして受け取り、そのオブジェクトを byte[] に変換して、結果を返します。input ストリームのコンテンツのコピーを格納するために、MemoryStream オブジェクト ms を作成します。C# の input.CopyTo(ms) 関数を使用して、input ストリームの内容を ms メモリストリームにコピーします。コピーされたコンテンツは、ms.ToArray() 関数を使用して配列の形式で返されます。

C# の MemoryStream.ToArray() 関数を使用して、MemoryStreambyte[] に変換する

上記の方法では、Memorystream を作成して、Streambyte[] に変換します。Stream の代わりに MemoryStream がある場合は、MemoryStream.ToArray() 関数を使用できます。MemoryStream.ToArray() 関数は、のコンテンツを変換します MemoryStream を C# のバイト配列に変換します。MemoryStream.ToArray() 関数の戻り値の型は byte[] です。次のコード例は、C# の MemoryStream.ToArray() 関数を使用して MemoryStreambyte[] に変換する方法を示しています。

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

C# の ms.ToArray() 関数を使用して、MemoryStream オブジェクト msbyteArray に変換しました。

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

関連記事 - Csharp Stream

関連記事 - Csharp Byte Array