MemoryStream.SetLength(Int64) 方法

定义

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

public override void SetLength (long value);

参数

value
Int64

用于设置长度的值。

例外

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

- 或 -

当前流不支持写入。

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

注解

此方法重写 SetLength

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

备注

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

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

另请参阅