StringReader.ReadAsync Metoda

Definice

Přetížení

Name Description
ReadAsync(Char[], Int32, Int32)

Načte zadaný maximální počet znaků z aktuálního řetězce asynchronně a zapíše data do vyrovnávací paměti počínaje zadaným indexem.

ReadAsync(Memory<Char>, CancellationToken)

Asynchronně přečte všechny znaky ze vstupního řetězce, počínaje aktuální pozicí a posune aktuální pozici na konec vstupního řetězce.

ReadAsync(Char[], Int32, Int32)

Zdroj:
StringReader.cs
Zdroj:
StringReader.cs
Zdroj:
StringReader.cs
Zdroj:
StringReader.cs
Zdroj:
StringReader.cs

Načte zadaný maximální počet znaků z aktuálního řetězce asynchronně a zapíše data do vyrovnávací paměti počínaje zadaným indexem.

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)

Parametry

buffer
Char[]

Pokud tato metoda vrátí, obsahuje zadanou znakovou matici s hodnotami mezi index a (index + count - 1) nahrazené znaky přečtenými z aktuálního zdroje.

index
Int32

Pozice, ve buffer které začít psát.

count
Int32

Maximální počet znaků, které se mají přečíst. Pokud je konec řetězce dosaženo před zadaným počtem znaků je zapsán do vyrovnávací paměti, metoda vrátí.

Návraty

Úloha, která představuje asynchronní operaci čtení. Hodnota parametru TResult obsahuje celkový počet bajtů načtených do vyrovnávací paměti. Výsledná hodnota může být menší než počet bajtů požadovaných v případě, že je počet bajtů aktuálně k dispozici menší než požadované číslo, nebo může být 0 (nula), pokud byl dosažen konec řetězce.

Atributy

Výjimky

buffer je null.

index nebo count je negativní.

Součet index a count je větší než délka vyrovnávací paměti.

Čtečka řetězců byla uvolněna.

Čtečka je aktuálně používána předchozí operací čtení.

Příklady

Následující příklad ukazuje, jak číst prvních 23 znaků řetězce asynchronně.

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
'

Poznámky

Úkol se dokončí po načtení počtu znaků zadaných parametrem count nebo dosažení konce řetězce.

Tato metoda ukládá do úlohy všechny výjimky bez použití, které může vyvolat synchronní protějšek metody. Pokud je výjimka uložena do vrácené úlohy, tato výjimka bude vyvolána, když je úkol očekáván. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. V případě uložených výjimek se podívejte na výjimky vyvolané Read(Char[], Int32, Int32).

Platí pro

ReadAsync(Memory<Char>, CancellationToken)

Zdroj:
StringReader.cs
Zdroj:
StringReader.cs
Zdroj:
StringReader.cs
Zdroj:
StringReader.cs
Zdroj:
StringReader.cs

Asynchronně přečte všechny znaky ze vstupního řetězce, počínaje aktuální pozicí a posune aktuální pozici na konec vstupního řetězce.

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)

Parametry

buffer
Memory<Char>

Pokud tato metoda vrátí, obsahuje znaky přečtené z aktuálního zdroje.

cancellationToken
CancellationToken

Token pro monitorování žádostí o zrušení. Výchozí hodnota je None.

Návraty

Úloha, která představuje asynchronní operaci čtení. Hodnota parametru TResult obsahuje celkový počet znaků načtených do vyrovnávací paměti.

Výjimky

Token zrušení byl zrušen. Tato výjimka je uložena do vrácené úlohy.

Platí pro