MemoryStream.GetBuffer 方法

定义

返回从中创建此流的无符号字节的数组。

public:
 virtual cli::array <System::Byte> ^ GetBuffer();
public virtual byte[] GetBuffer ();
abstract member GetBuffer : unit -> byte[]
override this.GetBuffer : unit -> byte[]
Public Overridable Function GetBuffer () As Byte()

返回

Byte[]

创建此流所用的字节数组;或者如果在当前实例的构造期间没有向 MemoryStream 构造函数提供字节数组,则为基础数组。

例外

未使用公共可见缓冲区创建 MemoryStream 的实例。

注解

请注意,缓冲区包含可能未使用的已分配字节。 例如,如果将字符串“test”写入 MemoryStream 对象,则返回 GetBuffer 的缓冲区长度为 256,而不是 4,未使用 252 个字节。 若要仅获取缓冲区中的数据,请使用 ToArray 该方法;但是, ToArray 会在内存中创建数据的副本。

缓冲区也可以 null是 。

若要创建MemoryStream具有公开可见缓冲区的实例,请使用MemoryStreamMemoryStream(Byte[], Int32, Int32, Boolean, Boolean)MemoryStream(Int32)。 如果当前流的大小可调整大小,则调用此方法的两次调用不会返回相同的数组(如果在调用之间调整基础字节数组的大小)。 有关附加信息,请参见 Capacity

备注

此方法在内存流关闭时有效。

适用于

另请参阅