System.IO.MemoryStream.SetLength 方法

方法描述

将当前流的长度设为指定值。

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

public override void SetLength(
	long value
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
value System-Int64 值,通过该值设置长度。
返回值 void

提示和注释

此方法重写 SetLength。

如果指定值小于流的当前长度,则流被截断。 如果截断后流内的当前位置超过流的末尾,则 ReadByte 方法返回 -1,Read 方法将向所提供的字节数组中读入零字节,同时 Write 和 WriteByte 方法将在流的末尾追加指定字节并增加其长度。 如果指定值大于当前容量并且流可调整大小,则容量将增加,而流内的当前位置将保持不变。 如果长度增加,则新旧长度之间的流的内容将被初始化为零。

注意

MemoryStream 实例必须支持写入才能使此方法起作用。 使用 CanWrite 属性可确定当前实例是否支持写入。 有关更多信息,请参见CanWrite。

System.IO.MemoryStream.SetLength 方法例子


异常

异常 异常描述
NotSupportedException
  • 当前流无法调整大小,而且 value 大于当前容量。
  • 当前流不支持写入。
ArgumentOutOfRangeException value 为负或者大于 MemoryStream 的最大长度,其中最大长度为 (MaxValue- origin),origin 为基础缓冲区中作为流的起点的索引。

命名空间

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 系统要求。