======Метод MemoryStream.ReadAsync(Byte[], Int32, Int32, CancellationToken)====== Асинхронно считывает последовательность байтов из текущего потока, перемещает позицию в потоке на число считанных байтов и отслеживает запросы отмены. * **Пространство имен:** [[developers:references:system.io|System.IO]] * **Сборка:** mscorlib (в mscorlib.dll) =====Синтаксис===== public override Task ReadAsync(byte[] buffer, int offset, int count, CancellationToken cancellationToken) **Параметры** * //buffer// * Тип: [[developers:references:system.byte|System.Byte]][] * Буфер, в который записываются данные. * //offset// * Тип: [[developers:references:system.int32|System.Int32]] * Смещение байтов в //buffer// , с которого начинается запись данных из потока. * //count// * Тип: [[developers:references:system.int32|System.Int32]] * Максимальное число байтов, предназначенных для чтения. * //cancellationToken// * Тип: [[developers:references:system.threading.cancellationtoken|System.Threading.CancellationToken]] * Токен для отслеживания запросов отмены.Значение по умолчанию — [[developers:references:system.threading.cancellationtoken.none|None]] . **Возвращаемое значение** * Тип: [[developers:references:system.threading.tasks.task_1|System.Threading.Tasks.Task]]<[[developers:references:system.int32|System.Int32]]> * Задача, представляющая асинхронную операцию чтения.Значение параметра //TResult// содержит общее число байтов, считанных в буфер.Значение результата может быть меньше запрошенного числа байтов, если число доступных в данный момент байтов меньше запрошенного числа, или результат может быть равен 0 (нулю), если был достигнут конец потока.