Condividi tramite


Stream.ReadAtLeast(Span<Byte>, Int32, Boolean) Metodo

Definizione

Legge almeno un numero minimo di byte dal flusso corrente e avanza la posizione all'interno del flusso in base al numero di byte letti.

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

Parametri

buffer
Span<Byte>

Un'area di memoria. Quando questo metodo restituisce, il contenuto di questa area viene sostituito dai byte letti dal flusso corrente.

minimumBytes
Int32

Numero minimo di byte da leggere nel buffer.

throwOnEndOfStream
Boolean

true per generare un'eccezione se la fine del flusso viene raggiunta prima della lettura minimumBytes di byte; false per restituire meno di minimumBytes quando viene raggiunta la fine del flusso. Il valore predefinito è true.

Restituisce

Numero complessivo di byte letti nel buffer. Questo è garantito essere maggiore o uguale a minimumBytes quando throwOnEndOfStream è true. Questa operazione sarà minore di minimumBytes quando viene raggiunta la fine del flusso ed throwOnEndOfStream è false. Questo può essere minore del numero di byte allocati nel buffer se tale numero di byte non è attualmente disponibile.

Eccezioni

minimumBytes è negativo o è maggiore della lunghezza di buffer.

throwOnEndOfStream è true e la fine del flusso viene raggiunta prima di leggere minimumBytes byte di dati.

Commenti

Quando minimumBytes è 0 (zero), questa operazione di lettura verrà completata senza attendere i dati disponibili nel flusso.

Si applica a