MemoryStream.SetLength(Int64) 方法

定义

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

public:
 override void SetLength(long value);
public override void SetLength (long value);
override this.SetLength : int64 -> unit
Public Overrides Sub SetLength (value As Long)

参数

value
Int64

用于设置长度的值。

例外

当前流无法调整大小,而且 value 大于当前容量。

- 或 -

当前流不支持写入。

value 为负或大于 的最大长度 MemoryStream,其中最大长度为 (Int32.MaxValue - origin) ,是 origin 流开始的基础缓冲区的索引。

注解

此方法重写 SetLength

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

注意

MemoryStream实例必须支持写入才能使此方法正常工作。 CanWrite使用 属性确定当前实例是否支持写入。 有关附加信息,请参见 CanWrite

适用于

另请参阅