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


MemoryStream Конструкторы

Определение

Инициализирует новый экземпляр класса MemoryStream.

Перегрузки

MemoryStream()

Инициализирует новый экземпляр класса MemoryStream расширяемой производительностью, инициализированной нулевым значением.

MemoryStream(Byte[])

Инициализирует новый неизменяемый экземпляр класса MemoryStream на основе указанного массива байтов.

MemoryStream(Int32)

Инициализирует новый экземпляр класса MemoryStream расширяемой емкостью, инициализированной с указанным значением.

MemoryStream(Byte[], Boolean)

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

MemoryStream(Byte[], Int32, Int32)

Инициализирует новый неизменяемый экземпляр класса MemoryStream на основе указанной области (индекса) массива байтов.

MemoryStream(Byte[], Int32, Int32, Boolean)

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

MemoryStream(Byte[], Int32, Int32, Boolean, Boolean)

Инициализирует новый экземпляр класса MemoryStream на основе указанной области массива байтов с помощью указанного значения свойства CanWrite и возможности вызова GetBuffer() с указанным значением.

MemoryStream()

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

Инициализирует новый экземпляр класса MemoryStream расширяемой производительностью, инициализированной нулевым значением.

public:
 MemoryStream();
public MemoryStream ();
Public Sub New ()

Комментарии

Свойства CanRead, CanSeekи CanWrite имеют значение true.

Емкость текущего потока автоматически увеличивается при использовании SetLength метода для установки значения длины, превышающего емкость текущего потока.

Этот конструктор предоставляет базовый поток, который GetBuffer возвращает .

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

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

MemoryStream(Byte[])

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

Инициализирует новый неизменяемый экземпляр класса MemoryStream на основе указанного массива байтов.

public:
 MemoryStream(cli::array <System::Byte> ^ buffer);
public MemoryStream (byte[] buffer);
new System.IO.MemoryStream : byte[] -> System.IO.MemoryStream
Public Sub New (buffer As Byte())

Параметры

buffer
Byte[]

Массив байтов без знака, из которого создается текущий поток.

Исключения

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

Комментарии

Свойства CanRead, CanSeekи CanWrite имеют значение true. Capacity Параметр имеет длину указанного массива байтов. Новый поток можно записать в, но его размер не изменяется.

Длина потока не может быть задана как значение, превышающее начальную длину указанного массива байтов; однако поток может быть усечен (см. ).SetLength

Этот конструктор не предоставляет базовый поток. GetBuffer вызывает исключение UnauthorizedAccessException.

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

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

MemoryStream(Int32)

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

Инициализирует новый экземпляр класса MemoryStream расширяемой емкостью, инициализированной с указанным значением.

public:
 MemoryStream(int capacity);
public MemoryStream (int capacity);
new System.IO.MemoryStream : int -> System.IO.MemoryStream
Public Sub New (capacity As Integer)

Параметры

capacity
Int32

Исходный размер внутреннего массива в байтах.

Исключения

capacity является отрицательным значением.

Примеры

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

MemoryStream^ memStream = gcnew MemoryStream( 100 );
using(MemoryStream memStream = new MemoryStream(100))
Dim memStream As New MemoryStream(100)

Комментарии

Свойства CanRead, CanSeekи CanWrite имеют значение true.

Емкость автоматически увеличивается при использовании SetLength метода для установки значения длины, превышающего емкость текущего потока. За исключением сконструированного MemoryStream с параметром byte[], операции записи в конце MemoryStream разворачивают MemoryStream.

Этот конструктор предоставляет базовый поток, который GetBuffer возвращает .

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

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

MemoryStream(Byte[], Boolean)

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

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

public:
 MemoryStream(cli::array <System::Byte> ^ buffer, bool writable);
public MemoryStream (byte[] buffer, bool writable);
new System.IO.MemoryStream : byte[] * bool -> System.IO.MemoryStream
Public Sub New (buffer As Byte(), writable As Boolean)

Параметры

buffer
Byte[]

Массив байтов без знака, из которого создается данный поток.

writable
Boolean

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

Исключения

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

Комментарии

Свойства CanRead и CanSeek имеют значение true. Capacity Параметр имеет длину указанного массива байтов.

Длина потока не может быть задана как значение, превышающее начальную длину указанного массива байтов; однако поток может быть усечен (см. ).SetLength

Этот конструктор не предоставляет базовый поток. GetBuffer вызывает исключение UnauthorizedAccessException.

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

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

MemoryStream(Byte[], Int32, Int32)

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

Инициализирует новый неизменяемый экземпляр класса MemoryStream на основе указанной области (индекса) массива байтов.

public:
 MemoryStream(cli::array <System::Byte> ^ buffer, int index, int count);
public MemoryStream (byte[] buffer, int index, int count);
new System.IO.MemoryStream : byte[] * int * int -> System.IO.MemoryStream
Public Sub New (buffer As Byte(), index As Integer, count As Integer)

Параметры

buffer
Byte[]

Массив байтов без знака, из которого создается данный поток.

index
Int32

Индекс в buffer, с которого начинается поток.

count
Int32

Длина потока в байтах.

Исключения

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

Значение параметра index или count меньше нуля.

Длина буфера минус index меньше count.

Комментарии

Свойства CanRead, CanSeekи CanWrite имеют значение true, но емкость нельзя изменить. Параметру Capacity задается значение count.

Длина потока не может быть задана как значение, превышающее начальную длину указанного массива байтов; однако поток может быть усечен (см. ).SetLength

Этот конструктор не предоставляет базовый поток. GetBuffer вызывает исключение UnauthorizedAccessException. Тем не менее, вы можете выполнить запись в поток.

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

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

MemoryStream(Byte[], Int32, Int32, Boolean)

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

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

public:
 MemoryStream(cli::array <System::Byte> ^ buffer, int index, int count, bool writable);
public MemoryStream (byte[] buffer, int index, int count, bool writable);
new System.IO.MemoryStream : byte[] * int * int * bool -> System.IO.MemoryStream
Public Sub New (buffer As Byte(), index As Integer, count As Integer, writable As Boolean)

Параметры

buffer
Byte[]

Массив байтов без знака, из которого создается данный поток.

index
Int32

Индекс в buffer, с которого начинается поток.

count
Int32

Длина потока в байтах.

writable
Boolean

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

Исключения

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

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

Длина буфера минус index меньше count.

Комментарии

Свойства CanRead и CanSeek имеют значение true. Параметру Capacity задается значение count.

Длина потока не может быть задана как значение, превышающее начальную длину указанного массива байтов; однако поток может быть усечен (см. ).SetLength

Этот конструктор не предоставляет базовый поток. GetBuffer вызывает исключение UnauthorizedAccessException. Однако можно выполнить запись в поток, если writable имеет значение true.

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

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

MemoryStream(Byte[], Int32, Int32, Boolean, Boolean)

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

Инициализирует новый экземпляр класса MemoryStream на основе указанной области массива байтов с помощью указанного значения свойства CanWrite и возможности вызова GetBuffer() с указанным значением.

public:
 MemoryStream(cli::array <System::Byte> ^ buffer, int index, int count, bool writable, bool publiclyVisible);
public MemoryStream (byte[] buffer, int index, int count, bool writable, bool publiclyVisible);
new System.IO.MemoryStream : byte[] * int * int * bool * bool -> System.IO.MemoryStream
Public Sub New (buffer As Byte(), index As Integer, count As Integer, writable As Boolean, publiclyVisible As Boolean)

Параметры

buffer
Byte[]

Массив байтов без знака, из которого создается данный поток.

index
Int32

Индекс в buffer, с которого начинается поток.

count
Int32

Длина потока в байтах.

writable
Boolean

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

publiclyVisible
Boolean

Значение true, чтобы разрешить метод GetBuffer(), возвращающий массив байтов без знака, из которого создан поток; в противном случае — значение false.

Исключения

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

index или count является отрицательным значением.

Длина буфера минус index меньше count.

Комментарии

Свойства CanRead и CanSeek имеют значение true. Параметру Capacity задается значение count.

Новый экземпляр потока можно записать в , но Capacity нельзя изменить значение базового массива байтов. Длина потока не может быть задана как значение, превышающее начальную длину указанного массива байтов; однако поток может быть усечен (см. ).SetLength

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

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