IOExtensionsReadExact - метод
Выполняет чтение указанного количества байт из потока в буфер.
В результате выполнения метода либо буфер должен быть заполнен, либо поток завершился раньше, чем данные были прочитаны.
Возвращает количество действительно прочитанных байт, которое может быть меньше указанного количества
только в том случае, если поток завершился.
Пространство имён: Tessa.Platform.IOСборка: Tessa (в Tessa.dll) Версия: 4.0.4
public static int ReadExact(
this Stream stream,
Span<byte> buffer
)
<ExtensionAttribute>
Public Shared Function ReadExact (
stream As Stream,
buffer As Span(Of Byte)
) As Integer
public:
[ExtensionAttribute]
static int ReadExact(
Stream^ stream,
Span<unsigned char> buffer
)
[<ExtensionAttribute>]
static member ReadExact :
stream : Stream *
buffer : Span<byte> -> int
- stream Stream
- Поток, из которого выполняется чтение данных.
- buffer SpanByte
- Буфер, в который записываются прочитанные данные.
Int32
Количество действительно прочитанных байт. Может быть меньше размера
buffer,
если поток завершился раньше, чем данные были прочитаны.
В Visual Basic и C# этот метод можно вызывать как метод экземпляра для любого объекта типа
Stream. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе
Методы расширения (Visual Basic) или
Методы расширения (Руководство по программированию в C#).
В отличие от метода Read(SpanByte), этот метод всегда корректно обрабатывает ситуацию,
в которой в поток ещё не пришли все данные из внешнего источника (например, при передаче по сети).