Lire en anglais

Partager via


Stream.ReadAtLeastAsync Méthode

Définition

Lit de manière asynchrone au moins un nombre minimal d’octets à partir du flux actuel, avance la position dans le flux en fonction du nombre d’octets lus et surveille les demandes d’annulation.

public System.Threading.Tasks.ValueTask<int> ReadAtLeastAsync (Memory<byte> buffer, int minimumBytes, bool throwOnEndOfStream = true, System.Threading.CancellationToken cancellationToken = default);

Paramètres

buffer
Memory<Byte>

Région de la mémoire dans laquelle les données doivent être écrites.

minimumBytes
Int32

Nombre minimal d’octets à lire dans la mémoire tampon.

throwOnEndOfStream
Boolean

true pour lever une exception si la fin du flux est atteinte avant la lecture minimumBytes des octets ; false pour retourner moins que minimumBytes lorsque la fin du flux est atteinte. Par défaut, il s’agit de true.

cancellationToken
CancellationToken

Jeton pour surveiller les requêtes d'annulation.

Retours

Tâche qui représente l'opération de lecture asynchrone. La valeur de sa propriété Result contient le nombre total d’octets lus dans la mémoire tampon. Cette valeur est garantie supérieure ou égale à minimumBytes quand throwOnEndOfStream est true. Cette valeur sera inférieure minimumBytes à celle de la fin du flux et throwOnEndOfStream de la valeur false. Cela peut être inférieur au nombre d’octets alloués dans la mémoire tampon si ce nombre n’est pas disponible actuellement.

Exceptions

minimumBytes est négatif ou est supérieur à la longueur de buffer.

throwOnEndOfStream est true et la fin du flux est atteinte avant la lecture minimumBytes des octets de données.

Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.

Remarques

Lorsque minimumBytes la valeur est égale à 0 (zéro), cette opération de lecture est terminée sans attendre les données disponibles dans le flux.

S’applique à

Produit Versions
.NET 7, 8, 9