在C#中,MemoryStream是一种流(Stream)对象,可以用于处理二进制数据。它是基于内存的流,不需要物理存储介质(如硬盘)即可存储数据。MemoryStream对象的大小可以根据需要动态调整,因此非常灵活。
下面举例说明如何使用MemoryStream对象:
using System;
using System.IO;
class Program
{
static void Main()
{
// 创建一个MemoryStream对象
MemoryStream ms = new MemoryStream();
// 向MemoryStream对象中写入数据
byte[] data = { 1, 2, 3, 4, 5 };
ms.Write(data, 0, data.Length);
// 将MemoryStream对象的Position属性设置为0
ms.Position = 0;
// 从MemoryStream对象中读取数据
byte[] buffer = new byte[5];
int bytesRead = ms.Read(buffer, 0, buffer.Length);
// 输出读取到的数据
Console.WriteLine("读取到的数据:");
for (int i = 0; i < bytesRead; i++)
{
Console.Write(buffer[i] + " ");
}
// 关闭MemoryStream对象
ms.Close();
}
}
以上代码创建了一个MemoryStream对象ms,然后向ms中写入了一个字节数组data,将ms的Position属性设置为0,最后从ms中读取数据并输出。由于ms是基于内存的流对象,不需要物理存储介质即可存储数据,因此程序执行速度较快,非常适用于处理临时数据等场景。