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.

Применяется к

См. также раздел