MemoryStream.SetLength(Int64) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将当前流的长度设置为指定值。
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 为负数
-或-
在 .NET 11 及更高版本中,value 大于 Array.MaxLength。
-或-
在 .NET 10 及更低版本中, value大于MemoryStream的最大长度,其中最大长度为 (Int32.MaxValue - origin),origin是流启动的基础缓冲区的索引。
注解
此方法重写 SetLength。
如果指定的值小于流的当前长度,则会截断该流。 如果在截断流中的当前位置超过流的末尾后,该方法将返回 -1,ReadByteRead该方法将零字节读取到提供的字节数组中,并且WriteWriteByte方法在流末尾追加指定的字节,增加其长度。 如果指定的值大于当前容量,并且该流可调整大小,则容量将增加,并且流的当前位置保持不变。 如果长度增加,则旧长度和新长度之间的流内容将初始化为零。
注释
MemoryStream实例必须支持编写此方法才能正常工作。 使用 CanWrite 属性确定当前实例是否支持写入。 有关其他信息,请参阅 CanWrite。