在 C# 中將流轉換為位元組陣列

Muhammad Maisam Abbas 2024年2月16日
  1. 用 C# 中的 Stream.CopyTo() 函式將 Stream 轉換為 byte[]
  2. 用 C# 中的 MemoryStream.ToArray() 函式將 MemoryStream 轉換為 byte[]
在 C# 中將流轉換為位元組陣列

本教程將介紹在 C# 中將流轉換為位元組陣列的方法。

用 C# 中的 Stream.CopyTo() 函式將 Stream 轉換為 byte[]

在 C# 中,Stream.CopyTo(memoryStream) 函式從以下位置複製位元組將 Stream 轉換為 memoryStream。我們可以將 Stream.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[],然後返回結果。我們建立 MemoryStream 物件 ms 來儲存 input 流的內容的副本。我們使用 C# 中的 input.CopyTo(ms) 函式將 input 流的內容複製到 ms 記憶體流中。我們使用 ms.ToArray() 函式以陣列的形式返回複製的內容。

用 C# 中的 MemoryStream.ToArray() 函式將 MemoryStream 轉換為 byte[]

在上面的方法中,我們建立了一個 Memorystream,將一個 Stream 轉換為一個 byte[]。如果我們有一個 MemoryStream 而不是 Stream,我們可以使用 MemoryStream.ToArray() 函式。MemoryStream.ToArray() 函式在 C# 中把 MemoryStream 的內容轉換為一個位元組陣列。MemoryStream.ToArray() 函式的返回型別是 byte[]。下面的程式碼示例向我們展示瞭如何使用 C# 中的 MemoryStream.ToArray() 函式將 MemoryStream 轉換為 byte[]

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

我們使用 C# 中的 ms.ToArray() 函式將 MemoryStream 物件 ms 轉換為 byteArray

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 Byte Array