MemoryStream.GetBuffer 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回从中创建此流的无符号字节的数组。
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
具有公开可见缓冲区的实例,请使用 MemoryStream、 MemoryStream(Byte[], Int32, Int32, Boolean, Boolean)或 MemoryStream(Int32)。 如果当前流可调整大小,则如果两次调用之间调整基础字节数组的大小,则对此方法的两次调用不会返回相同的数组。 有关附加信息,请参见 Capacity。
注意
此方法在内存流关闭时有效。