Stream.ReadAtLeastAsync Yöntem

Tanım

Geçerli akıştan zaman uyumsuz olarak en az sayıda bayt okur, okunan bayt sayısına göre akış içindeki konumu ilerletir ve iptal isteklerini izler.

public System.Threading.Tasks.ValueTask<int> ReadAtLeastAsync (Memory<byte> buffer, int minimumBytes, bool throwOnEndOfStream = true, System.Threading.CancellationToken cancellationToken = default);
member this.ReadAtLeastAsync : Memory<byte> * int * bool * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function ReadAtLeastAsync (buffer As Memory(Of Byte), minimumBytes As Integer, Optional throwOnEndOfStream As Boolean = true, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

Parametreler

buffer
Memory<Byte>

Verileri yazacak bellek bölgesi.

minimumBytes
Int32

Arabelleğe okunacak en az bayt sayısı.

throwOnEndOfStream
Boolean

true baytları okumadan minimumBytes önce akışın sonuna ulaşılırsa bir özel durum oluşturur; false akışın sonuna ulaşıldığından daha minimumBytes az döndürmek için. Varsayılan değer: true.

cancellationToken
CancellationToken

İptal istekleri için izlenecek belirteç.

Döndürülenler

Zaman uyumsuz okuma işlemini temsil eden görev. özelliğinin Result değeri arabelleğe okunan toplam bayt sayısını içerir. Bu, olduğunda throwOnEndOfStream değerinden büyük veya eşit minimumBytes olması garanti edilirtrue. Bu, akışın sonuna ulaşıldığından ve throwOnEndOfStream olduğundan falsedaha minimumBytes az olacaktır. Bu, şu anda kullanılabilir durumda olmayan bayt sayısı arabellekte ayrılan bayt sayısından az olabilir.

Özel durumlar

minimumBytes negatif veya uzunluğundan bufferbüyük.

throwOnEndOfStream ve true veri baytları okunmadan minimumBytes önce akışın sonuna ulaşılır.

İptal belirteci iptal edildi. Bu özel durum, döndürülen görevde depolanır.

Açıklamalar

0 (sıfır) olduğunda minimumBytes , bu okuma işlemi akışta kullanılabilir veriler beklenmeden tamamlanır.

Şunlara uygulanır