StringReader.ReadAsync Yöntem

Tanım

Aşırı Yüklemeler

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

Geçerli dizeden belirtilen en fazla karakter sayısını zaman uyumsuz olarak okur ve verileri belirtilen dizinden başlayarak bir arabelleğe yazar.

ReadAsync(Memory<Char>, CancellationToken)

Giriş dizesinden geçerli konumdan başlayarak tüm karakterleri zaman uyumsuz olarak okur ve geçerli konumu giriş dizesinin sonuna ilerler.

ReadAsync(Char[], Int32, Int32)

Kaynak:
StringReader.cs
Kaynak:
StringReader.cs
Kaynak:
StringReader.cs
Kaynak:
StringReader.cs
Kaynak:
StringReader.cs

Geçerli dizeden belirtilen en fazla karakter sayısını zaman uyumsuz olarak okur ve verileri belirtilen dizinden başlayarak bir arabelleğe yazar.

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)

Parametreler

buffer
Char[]

Bu yöntem döndürdüğünde, ve (indexindex + - 1) arasındaki count değerlerin geçerli kaynaktan okunan karakterlerle değiştirdiği belirtilen karakter dizisini içerir.

index
Int32

Yazmaya başlama konumu buffer .

count
Int32

Okunacak karakter sayısı üst sınırı. Belirtilen sayıda karakter arabelleğe yazılmadan önce dizenin sonuna ulaşılırsa, yöntemi döndürür.

Döndürülenler

Zaman uyumsuz okuma işlemini temsil eden görev. parametresinin TResult değeri arabelleğe okunan toplam bayt sayısını içerir. Sonuç değeri, şu anda kullanılabilir durumdaki bayt sayısı istenen sayıdan küçükse istenen bayt sayısından az veya dizenin sonuna ulaşıldıysa 0 (sıfır) olabilir.

Öznitelikler

Özel durumlar

buffer, null'e eşittir.

index veya count negatiftir.

ve'nin indexcount toplamı arabellek uzunluğundan daha büyüktür.

Dize okuyucusu atıldı.

Okuyucu şu anda önceki bir okuma işlemi tarafından kullanılıyor.

Örnekler

Aşağıdaki örnekte, bir dizenin ilk 23 karakterinin zaman uyumsuz olarak nasıl okunduğu gösterilmektedir.

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
'

Açıklamalar

Parametre tarafından count belirtilen karakter sayısı okunduktan veya dizenin sonuna ulaşıldıktan sonra görev tamamlanır.

Bu yöntem, yöntemin zaman uyumlu karşılık geleninin oluşturabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanırsa, görev beklendiğinde bu özel durum oluşturulur. ArgumentExceptiongibi kullanım özel durumları hâlâ eşzamanlı olarak fırlatılır. Depolanan özel durumlar için tarafından Read(Char[], Int32, Int32)oluşan özel durumlara bakın.

Şunlara uygulanır

ReadAsync(Memory<Char>, CancellationToken)

Kaynak:
StringReader.cs
Kaynak:
StringReader.cs
Kaynak:
StringReader.cs
Kaynak:
StringReader.cs
Kaynak:
StringReader.cs

Giriş dizesinden geçerli konumdan başlayarak tüm karakterleri zaman uyumsuz olarak okur ve geçerli konumu giriş dizesinin sonuna ilerler.

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)

Parametreler

buffer
Memory<Char>

Bu yöntem döndürdüğünde, geçerli kaynaktan okunan karakterleri içerir.

cancellationToken
CancellationToken

İptal isteklerini izlemek için belirteç. None varsayılan değerdir.

Döndürülenler

Zaman uyumsuz okuma işlemini temsil eden görev. parametresinin TResult değeri arabelleğe okunan toplam karakter sayısını içerir.

Özel durumlar

İptal belirteci iptal edildi. Bu özel durum, döndürülen görevde depolanır.

Şunlara uygulanır