Stream.ReadAtLeast(Span<Byte>, Int32, Boolean) Método

Definição

Lê pelo menos um número mínimo de bytes do fluxo atual e avança a posição dentro do fluxo pelo número de bytes lidos.

public int ReadAtLeast (Span<byte> buffer, int minimumBytes, bool throwOnEndOfStream = true);
member this.ReadAtLeast : Span<byte> * int * bool -> int
Public Function ReadAtLeast (buffer As Span(Of Byte), minimumBytes As Integer, Optional throwOnEndOfStream As Boolean = true) As Integer

Parâmetros

buffer
Span<Byte>

Uma região da memória. Quando esse método retorna, o conteúdo dessa região é substituído pelos bytes lidos do fluxo atual.

minimumBytes
Int32

O número mínimo de bytes a serem lidos no buffer.

throwOnEndOfStream
Boolean

true para gerar uma exceção se o final do fluxo for atingido antes da leitura minimumBytes de bytes; false para retornar menos do que minimumBytes quando o final do fluxo for atingido. O padrão é true.

Retornos

O número total de bytes lidos do buffer. É garantido que isso seja maior ou igual a minimumBytes quando throwOnEndOfStream for true. Isso será menor do que minimumBytes quando o final do fluxo for atingido e throwOnEndOfStream for false. Isso poderá ser menor que o número de bytes alocados no buffer se esses muitos bytes não estiverem disponíveis no momento.

Exceções

minimumBytes é negativo ou é maior que o comprimento de buffer.

throwOnEndOfStream é true e o final do fluxo é atingido antes da leitura minimumBytes de bytes de dados.

Comentários

Quando minimumBytes for 0 (zero), essa operação de leitura será concluída sem aguardar os dados disponíveis no fluxo.

Aplica-se a