StringReader.ReadAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
ReadAsync(Char[], Int32, Int32) |
Lit un nombre maximal spécifié de caractères à partir de la chaîne actuelle de manière asynchrone, et écrit les données dans une mémoire tampon, en commençant à l’index spécifié. |
ReadAsync(Memory<Char>, CancellationToken) |
Lit de façon asynchrone tous les caractères de la chaîne d’entrée en commençant à la position actuelle, et avance la position actuelle à la fin de la chaîne d’entrée. |
ReadAsync(Char[], Int32, Int32)
- Source:
- StringReader.cs
- Source:
- StringReader.cs
- Source:
- StringReader.cs
Lit un nombre maximal spécifié de caractères à partir de la chaîne actuelle de manière asynchrone, et écrit les données dans une mémoire tampon, en commençant à l’index spécifié.
public:
override System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <char> ^ buffer, int index, int count);
public override System.Threading.Tasks.Task<int> ReadAsync (char[] buffer, int index, int count);
[System.Runtime.InteropServices.ComVisible(false)]
public override System.Threading.Tasks.Task<int> ReadAsync (char[] buffer, int index, int count);
override this.ReadAsync : char[] * int * int -> System.Threading.Tasks.Task<int>
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.ReadAsync : char[] * int * int -> System.Threading.Tasks.Task<int>
Public Overrides Function ReadAsync (buffer As Char(), index As Integer, count As Integer) As Task(Of Integer)
Paramètres
- buffer
- Char[]
Quand cette méthode est retournée, contient le tableau de caractères spécifié dont les valeurs comprises entre index
et (index
+ count
- 1) sont remplacées par les caractères lus dans la source actuelle.
- index
- Int32
Position dans buffer
à partir de laquelle commencer l'écriture.
- count
- Int32
Nombre maximal de caractères à lire. Si la fin de la chaîne est atteinte avant que le nombre de caractères spécifié soit écrit dans la mémoire tampon, la méthode est retournée.
Retours
Tâche qui représente l'opération de lecture asynchrone. La valeur du paramètre TResult
contient le nombre total d'octets lus dans la mémoire tampon. La valeur de résultat peut être inférieure au nombre d’octets demandés si le nombre d’octets actuellement disponibles est inférieur au nombre demandé, ou elle peut avoir la valeur 0 (zéro) si la fin de la chaîne a été atteinte.
- Attributs
Exceptions
buffer
a la valeur null
.
index
ou count
est un nombre négatif.
La somme de index
et count
est supérieure à la longueur de la mémoire tampon.
Le lecteur de chaîne a été supprimé.
Le lecteur est actuellement utilisé par une opération de lecture antérieure.
Exemples
L’exemple suivant montre comment lire les 23 premiers caractères d’une chaîne de manière asynchrone.
using System;
using System.IO;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
ReadCharacters();
}
static async void ReadCharacters()
{
string stringToRead = "Some characters to read but not all";
char[] charsRead = new char[stringToRead.Length];
using (StringReader reader = new StringReader(stringToRead))
{
await reader.ReadAsync(charsRead, 0, 23);
Console.WriteLine(charsRead);
}
}
}
}
// The example displays the following output:
// Some characters to read
//
Imports System.IO
Module Module1
Sub Main()
ReadCharacters()
End Sub
Async Sub ReadCharacters()
Dim stringToRead = "Some characters to read but not all"
Dim charsRead(stringToRead.Length) As Char
Using reader As StringReader = New StringReader(stringToRead)
Await reader.ReadAsync(charsRead, 0, 23)
Console.WriteLine(charsRead)
End Using
End Sub
End Module
' The example displays the following output:
' Some characters to read
'
Remarques
La tâche se termine une fois que le nombre de caractères spécifié par le count
paramètre a été lu ou que la fin de la chaîne est atteinte.
Cette méthode stocke dans la tâche toutes les exceptions de non-utilisation que le équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception est levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de manière synchrone. Pour les exceptions stockées, consultez les exceptions levées par Read(Char[], Int32, Int32).
S’applique à
ReadAsync(Memory<Char>, CancellationToken)
- Source:
- StringReader.cs
- Source:
- StringReader.cs
- Source:
- StringReader.cs
Lit de façon asynchrone tous les caractères de la chaîne d’entrée en commençant à la position actuelle, et avance la position actuelle à la fin de la chaîne d’entrée.
public override System.Threading.Tasks.ValueTask<int> ReadAsync (Memory<char> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.ReadAsync : Memory<char> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Overrides Function ReadAsync (buffer As Memory(Of Char), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)
Paramètres
Quand cette méthode retourne un résultat, contient les caractères lus à partir de la source actuelle.
- cancellationToken
- CancellationToken
Jeton pour surveiller les requêtes d'annulation. La valeur par défaut est None.
Retours
Tâche qui représente l'opération de lecture asynchrone. La valeur du paramètre TResult
contient le nombre total de caractères lus dans la mémoire tampon.
Exceptions
Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.