Udostępnij za pośrednictwem


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

Definicja

Odczytuje co najmniej minimalną liczbę bajtów z bieżącego strumienia i rozwija pozycję w strumieniu przez liczbę odczytanych bajtów.

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

Parametry

buffer
Span<Byte>

Region pamięci. Gdy ta metoda zwróci wartość , zawartość tego regionu jest zastępowana przez bajty odczytane z bieżącego strumienia.

minimumBytes
Int32

Minimalna liczba bajtów do odczytu do buforu.

throwOnEndOfStream
Boolean

true aby zgłosić wyjątek, jeśli osiągnięto koniec strumienia przed odczytem minimumBytes bajtów; false aby zwrócić mniej niż minimumBytes po osiągnięciu końca strumienia. Wartość domyślna to true.

Zwraca

Całkowita liczba bajtów odczytanych do buforu. Gwarantuje to, że wartość jest większa niż lub równa minimumBytes , gdy throwOnEndOfStream parametr ma truewartość . Będzie to mniejsze niż minimumBytes po osiągnięciu końca strumienia i throwOnEndOfStream wartości .false Może to być mniejsza niż liczba bajtów przydzielonych w buforze, jeśli liczba bajtów nie jest obecnie dostępna.

Wyjątki

minimumBytes jest ujemna lub jest większa niż długość buffer.

throwOnEndOfStream element jest true i osiągnięto koniec strumienia przed odczytaniem minimumBytes bajtów danych.

Uwagi

Gdy minimumBytes wartość to 0 (zero), ta operacja odczytu zostanie ukończona bez oczekiwania na dostępne dane w strumieniu.

Dotyczy