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 расширяемой производительностью, инициализированной нулевым значением.
public:
MemoryStream();
public MemoryStream ();
Public Sub New ()
Комментарии
Для CanReadсвойств и CanWrite свойств задано значение true
. CanSeek
Емкость текущего потока автоматически увеличивается при использовании SetLength метода для задания длины значения, превышающего емкость текущего потока.
Этот конструктор предоставляет базовый поток, который GetBuffer возвращается.
См. также раздел
- Файловый и потоковый ввод-вывод
- Практическое руководство. Чтение текста из файла
- Практическое руководство. Запись текста в файл
Применяется к
MemoryStream(Byte[])
Инициализирует новый неизменяемый экземпляр класса 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свойств и CanWrite свойств задано значение true
. CanSeek Capacity is set to the length of the specified byte array. Новый поток можно записать в, но его размер не допускается.
Длина потока не может быть задана как значение, превышающее начальную длину указанного массива байтов; однако поток может быть усечен (см. раздел SetLength).
Этот конструктор не предоставляет базовый поток. GetBuffer бросает UnauthorizedAccessException.
См. также раздел
- Файловый и потоковый ввод-вывод
- Практическое руководство. Чтение текста из файла
- Практическое руководство. Запись текста в файл
Применяется к
MemoryStream(Int32)
Инициализирует новый экземпляр класса 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свойств и CanWrite свойств задано значение true
. CanSeek
Емкость автоматически увеличивается при использовании SetLength метода для задания длины значения, превышающего емкость текущего потока. MemoryStream
За исключением сконструированного с параметром byte[], операции записи в конце MemoryStream
расширения MemoryStream
.
Этот конструктор предоставляет базовый поток, который GetBuffer возвращается.
См. также раздел
- Файловый и потоковый ввод-вывод
- Практическое руководство. Чтение текста из файла
- Практическое руководство. Запись текста в файл
Применяется к
MemoryStream(Byte[], Boolean)
Инициализирует новый неизменяемый экземпляр класса 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 is set to the length of the specified byte array.
Длина потока не может быть задана как значение, превышающее начальную длину указанного массива байтов; однако поток может быть усечен (см. раздел SetLength).
Этот конструктор не предоставляет базовый поток. GetBuffer бросает UnauthorizedAccessException.
См. также раздел
- Файловый и потоковый ввод-вывод
- Практическое руководство. Чтение текста из файла
- Практическое руководство. Запись текста в файл
Применяется к
MemoryStream(Byte[], Int32, Int32)
Инициализирует новый неизменяемый экземпляр класса 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и CanWrite свойства имеют значение true
, но емкость не может CanSeekбыть изменена. Параметру Capacity задается значение count
.
Длина потока не может быть задана как значение, превышающее начальную длину указанного массива байтов; однако поток может быть усечен (см. раздел SetLength).
Этот конструктор не предоставляет базовый поток. GetBuffer бросает UnauthorizedAccessException. Однако вы можете записать данные в поток.
См. также раздел
- Файловый и потоковый ввод-вывод
- Практическое руководство. Чтение текста из файла
- Практическое руководство. Запись текста в файл
Применяется к
MemoryStream(Byte[], Int32, Int32, Boolean)
Инициализирует новый неизменяемый экземпляр класса 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 на основе указанной области массива байтов с помощью указанного значения свойства 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).
См. также раздел
- Файловый и потоковый ввод-вывод
- Практическое руководство. Чтение текста из файла
- Практическое руководство. Запись текста в файл