System.IO.MemoryStream.GetBuffer 方法

方法描述

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

语法定义(C# System.IO.MemoryStream.GetBuffer 方法 的用法)

public virtual byte[] GetBuffer()

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
返回值 System.Byte[] 创建此流所用的字节数组;或者如果在当前实例的构造期间没有向 MemoryStream 构造函数提供字节数组,则为基础数组。

提示和注释

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

缓冲区还可以为 null。

若要创建带有公共可见缓冲区的 MemoryStream 实例,请使用 MemoryStream、MemoryStream(Byte[], Int32, Int32, Boolean, Boolean) 或 MemoryStream(Int32)。 如果当前流可调整大小,则若在对此方法的两次调用之间调整基础字节数组的大小,这两次调用将不会返回同一数组。 有关更多信息,请参见Capacity。

注意

此方法将在内存流关闭时起作用。

System.IO.MemoryStream.GetBuffer 方法例子


异常

异常 异常描述
UnauthorizedAccessException 未使用公共可见缓冲区创建 MemoryStream 的实例。

命名空间

namespace: System.IO

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。