Condividi tramite


StringReader.ReadAsync Metodo

Definizione

Overload

ReadAsync(Char[], Int32, Int32)

Legge in modo asincrono un numero massimo specificato di caratteri dalla stringa corrente e scrive i dati in un buffer, a partire dall'indice specificato.

ReadAsync(Memory<Char>, CancellationToken)

Legge in modo asincrono tutti i caratteri dalla stringa di input, a partire dalla posizione corrente e fa avanzare la posizione corrente fino alla fine della stringa di input.

ReadAsync(Char[], Int32, Int32)

Origine:
StringReader.cs
Origine:
StringReader.cs
Origine:
StringReader.cs

Legge in modo asincrono un numero massimo specificato di caratteri dalla stringa corrente e scrive i dati in un buffer, a partire dall'indice specificato.

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)

Parametri

buffer
Char[]

Quando questo metodo viene restituito, contiene la matrice di caratteri specificata con i valori compresi tra index e (index + + count - 1) sostituiti con i caratteri letti dall'origine corrente.

index
Int32

Posizione in buffer da cui iniziare la scrittura.

count
Int32

Numero massimo di caratteri da leggere. Se viene raggiunta la fine della stringa prima che il numero di caratteri specificato venga scritto nel buffer, il metodo restituisce un risultato.

Restituisce

Attività che rappresenta l'operazione di lettura asincrona. Il valore del parametro di TResult contiene il numero totale di byte letti nel buffer. Il valore del risultato può essere minore del numero di byte richiesti se il numero di byte attualmente disponibili è minore di quelli richiesti o può essere pari a zero se è stata raggiunta la fine della stringa.

Attributi

Eccezioni

buffer è null.

index o count è negativo.

La somma di index e count è maggiore della lunghezza del buffer.

Il lettore della stringa è stato eliminato.

Il lettore è attualmente usato da un'operazione di lettura precedente.

Esempio

Nell'esempio seguente viene illustrato come leggere i primi 23 caratteri di una stringa in modo asincrono.

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
'

Commenti

L'attività viene completata dopo che viene letto il numero di caratteri specificati dal count parametro oppure viene raggiunta la fine della stringa.

Questo metodo archivia nell'attività restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da Read(Char[], Int32, Int32).

Si applica a

ReadAsync(Memory<Char>, CancellationToken)

Origine:
StringReader.cs
Origine:
StringReader.cs
Origine:
StringReader.cs

Legge in modo asincrono tutti i caratteri dalla stringa di input, a partire dalla posizione corrente e fa avanzare la posizione corrente fino alla fine della stringa di input.

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)

Parametri

buffer
Memory<Char>

Al termine, questo metodo contiene i caratteri letti dall'origine corrente.

cancellationToken
CancellationToken

Token da monitorare per le richieste di annullamento. Il valore predefinito è None.

Restituisce

Attività che rappresenta l'operazione di lettura asincrona. Il valore del parametro TResult contiene il numero totale di caratteri letti nel buffer.

Eccezioni

Il token di annullamento è stato annullato. Questa eccezione viene archiviata nell'attività restituita.

Si applica a