Поделиться через


MemoryStream.Write Метод

Определение

Перегрузки

Write(ReadOnlySpan<Byte>)

Записывает последовательность байтов, содержащихся в source, в текущий поток в памяти и перемещает текущую позицию внутри этого потока в памяти на число записанных байтов.

Write(Byte[], Int32, Int32)

Записывает в текущий поток блок байтов, используя данные, считанные из буфера.

Write(ReadOnlySpan<Byte>)

Исходный код:
MemoryStream.cs
Исходный код:
MemoryStream.cs
Исходный код:
MemoryStream.cs

Записывает последовательность байтов, содержащихся в source, в текущий поток в памяти и перемещает текущую позицию внутри этого потока в памяти на число записанных байтов.

public:
 override void Write(ReadOnlySpan<System::Byte> source);
public:
 override void Write(ReadOnlySpan<System::Byte> buffer);
public override void Write (ReadOnlySpan<byte> source);
public override void Write (ReadOnlySpan<byte> buffer);
override this.Write : ReadOnlySpan<byte> -> unit
override this.Write : ReadOnlySpan<byte> -> unit
Public Overrides Sub Write (source As ReadOnlySpan(Of Byte))
Public Overrides Sub Write (buffer As ReadOnlySpan(Of Byte))

Параметры

sourcebuffer
ReadOnlySpan<Byte>

Область памяти. Этот метод копирует содержимое данной области в текущий поток в памяти.

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

Write(Byte[], Int32, Int32)

Исходный код:
MemoryStream.cs
Исходный код:
MemoryStream.cs
Исходный код:
MemoryStream.cs

Записывает в текущий поток блок байтов, используя данные, считанные из буфера.

public:
 override void Write(cli::array <System::Byte> ^ buffer, int offset, int count);
public override void Write (byte[] buffer, int offset, int count);
override this.Write : byte[] * int * int -> unit
Public Overrides Sub Write (buffer As Byte(), offset As Integer, count As Integer)

Параметры

buffer
Byte[]

Буфер, из которого записываются данные.

offset
Int32

Отсчитываемое от нуля смещение байтов в буфере buffer, с которого начинается копирование байтов в текущий поток.

count
Int32

Максимальное число байтов для записи.

Исключения

buffer имеет значение null.

Поток не поддерживает запись. Дополнительные сведения см. в разделе CanWrite.

-или-

Текущее положение ближе к концу потока, чем число байтов count, и емкость изменить невозможно.

Длина буфера за вычетом offset меньше, чем count.

Параметр offset или count имеет отрицательное значение.

Ошибка ввода-вывода.

Текущий экземпляр потока закрыт.

Примеры

Этот пример входит в состав более крупного примера использования класса MemoryStream.

// Write the first string to the stream.
memStream->Write( firstString, 0, firstString->Length );
// Write the first string to the stream.
memStream.Write(firstString, 0 , firstString.Length);
' Write the first string to the stream.
memStream.Write(firstString, 0 , firstString.Length)

Комментарии

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

Параметр offset задает смещение первого байта в buffer для записи, а count параметр — число байтов для записи. Если операция записи выполнена успешно, текущая позиция в потоке будет расширена на количество записанных байтов. Если возникает исключение, текущая позиция в потоке остается неизменной.

За исключением сконструированного MemoryStream с параметром byte[], операции записи в конце MemoryStream разворачивают MemoryStream.

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

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