Share via


TextReader.ReadAsync Metode

Definisi

Overload

ReadAsync(Memory<Char>, CancellationToken)

Secara asinkron membaca karakter dari aliran saat ini ke dalam blok memori.

ReadAsync(Char[], Int32, Int32)

Membaca jumlah karakter maksimum yang ditentukan dari pembaca teks saat ini secara asinkron dan menulis data ke buffer, dimulai dari indeks yang ditentukan.

ReadAsync(Memory<Char>, CancellationToken)

Sumber:
TextReader.cs
Sumber:
TextReader.cs
Sumber:
TextReader.cs

Secara asinkron membaca karakter dari aliran saat ini ke dalam blok memori.

public virtual System.Threading.Tasks.ValueTask<int> ReadAsync (Memory<char> buffer, System.Threading.CancellationToken cancellationToken = default);
abstract member ReadAsync : Memory<char> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
override this.ReadAsync : Memory<char> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Overridable Function ReadAsync (buffer As Memory(Of Char), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

Parameter

buffer
Memory<Char>

Ketika metode ini kembali, berisi blok memori karakter yang ditentukan yang digantikan oleh karakter yang dibaca dari sumber saat ini.

cancellationToken
CancellationToken

Token yang akan dipantau untuk permintaan pembatalan. Nilai defaultnya adalah None.

Mengembalikan

Tugas nilai yang mewakili operasi baca asinkron. Nilai parameter jenis berisi jumlah karakter yang telah dibaca, atau 0 jika di akhir aliran dan tidak ada data yang dibaca. Jumlahnya akan kurang dari atau sama dengan panjangnya buffer , tergantung pada apakah data tersedia dalam aliran.

Pengecualian

Token pembatalan dibatalkan. Pengecualian ini disimpan ke dalam tugas yang dikembalikan.

Berlaku untuk

ReadAsync(Char[], Int32, Int32)

Sumber:
TextReader.cs
Sumber:
TextReader.cs
Sumber:
TextReader.cs

Membaca jumlah karakter maksimum yang ditentukan dari pembaca teks saat ini secara asinkron dan menulis data ke buffer, dimulai dari indeks yang ditentukan.

public:
 virtual System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <char> ^ buffer, int index, int count);
public virtual System.Threading.Tasks.Task<int> ReadAsync (char[] buffer, int index, int count);
[System.Runtime.InteropServices.ComVisible(false)]
public virtual System.Threading.Tasks.Task<int> ReadAsync (char[] buffer, int index, int count);
abstract member ReadAsync : char[] * int * int -> System.Threading.Tasks.Task<int>
override this.ReadAsync : char[] * int * int -> System.Threading.Tasks.Task<int>
[<System.Runtime.InteropServices.ComVisible(false)>]
abstract member ReadAsync : char[] * int * int -> System.Threading.Tasks.Task<int>
override this.ReadAsync : char[] * int * int -> System.Threading.Tasks.Task<int>
Public Overridable Function ReadAsync (buffer As Char(), index As Integer, count As Integer) As Task(Of Integer)

Parameter

buffer
Char[]

Ketika metode ini kembali, berisi array karakter yang ditentukan dengan nilai antara index dan (index + count - 1) digantikan oleh karakter yang dibaca dari sumber saat ini.

index
Int32

Posisi untuk buffer mulai menulis.

count
Int32

Jumlah maksimum karakter yang akan dibaca. Jika akhir teks tercapai sebelum jumlah karakter yang ditentukan dibaca ke dalam buffer, metode saat ini akan kembali.

Mengembalikan

Tugas yang mewakili operasi baca asinkron. Nilai TResult parameter berisi jumlah total byte yang dibaca ke dalam buffer. Nilai hasil bisa kurang dari jumlah byte yang diminta jika jumlah byte yang saat ini tersedia kurang dari angka yang diminta, atau bisa 0 (nol) jika akhir teks telah tercapai.

Atribut

Pengecualian

bufferadalah null.

index atau count negatif.

Jumlah index dan count lebih besar dari panjang buffer.

Pembaca teks telah dibuang.

Pembaca saat ini sedang digunakan oleh operasi baca sebelumnya.

Keterangan

Tugas selesai setelah jumlah karakter yang ditentukan oleh count parameter dibaca atau akhir file tercapai.

Kelas TextReader ini adalah kelas abstrak. Oleh karena itu, Anda tidak membuat instans dalam kode Anda. Untuk contoh penggunaan ReadAsync metode , lihat StreamReader.ReadAsync metode .

Metode ini disimpan dalam tugas yang menampilkan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Read(Char[], Int32, Int32).

Lihat juga

Berlaku untuk