在 C# 中将流转换为字节数组
-
用 C# 中的
Stream.CopyTo()函数将Stream转换为byte[] -
用 C# 中的
MemoryStream.ToArray()函数将MemoryStream转换为byte[]
本教程将介绍在 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。
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