Aracılığıyla paylaş


Stream.ReadAtLeastAsync Yöntem

Tanım

Geçerli akıştan en az en az sayıda bayt zaman uyumsuz olarak okur, okunan bayt sayısı kadar 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 bayt okunmadan 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 isteklerini izlemek için 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 olduğundan daha minimumBytes az olacaktırfalse.throwOnEndOfStream Bu, şu anda kullanılabilir sayıda bayt yoksa arabellekte ayrılan bayt sayısından daha 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