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 является отрицательным

–или–

В .NET 11 и более поздних версиях value больше Array.MaxLength.

–или–

В .NET 10 и более ранних версиях value больше максимальной длины MemoryStream, где максимальная длина — (Int32.MaxValue - origin), а origin — индекс в базовый буфер, с которого запускается поток.

Комментарии

Этот метод переопределяет метод SetLength.

Если указанное значение меньше текущей длины потока, поток усечен. Если после усечения текущей позиции в потоке прошло конец потока, ReadByte метод возвращает значение -1, Read метод считывает ноль байтов в предоставленный массив байтов и WriteWriteByte методы добавляют указанные байты в конце потока, увеличив его длину. Если указанное значение больше текущей емкости и поток можно изменить размер, емкость увеличивается, а текущая позиция в потоке не изменяется. Если длина увеличивается, содержимое потока между старым и новой длиной инициализируется до нуля.

Note

Экземпляр MemoryStream должен поддерживать запись для работы этого метода. CanWrite Используйте свойство, чтобы определить, поддерживает ли текущий экземпляр запись. Подробнее см. в статье CanWrite.

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

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