StringReader.ReadLineAsync 方法


自目前字串非同步讀取一行字元,並將資料以字串傳回。Reads a line of characters asynchronously from the current string and returns the data as a string.

 override System::Threading::Tasks::Task<System::String ^> ^ ReadLineAsync();
public override System.Threading.Tasks.Task<string> ReadLineAsync ();
override this.ReadLineAsync : unit -> System.Threading.Tasks.Task<string>
Public Overrides Function ReadLineAsync () As Task(Of String)


表示非同步讀取作業的工作。A task that represents the asynchronous read operation. TResult參數的值會包含字串讀取器中的下一行,或者是null(如果已經讀取所有字元)。The value of the TResult parameter contains the next line from the string reader, or is null if all the characters have been read.



下一行的字元數大於 MaxValueThe number of characters in the next line is larger than MaxValue.

字串讀取器已處置。The string reader has been disposed.

之前的讀取作業目前正在使用讀取器。The reader is currently in use by a previous read operation.


下列範例顯示如何以非同步方式從字串讀取一行。The following example shows how to read one line at a time from a string asynchronously.

using System;
using System.IO;
using System.Text;

namespace ConsoleApplication
    class Program
        static void Main(string[] args)

        static async void ReadCharacters()
            StringBuilder stringToRead = new StringBuilder();
            stringToRead.AppendLine("Characters in 1st line to read");
            stringToRead.AppendLine("and 2nd line");
            stringToRead.AppendLine("and the end");

            string readText;

            using (StringReader reader = new StringReader(stringToRead.ToString()))
                while ((readText = await reader.ReadLineAsync()) != null)
// The example displays the following output:
// Characters in 1st line to read
// and 2nd line
// and the end
Imports System.IO
Imports System.Text

Module Module1

    Sub Main()
    End Sub

    Async Sub ReadCharacters()
        Dim stringToRead = New StringBuilder()
        stringToRead.AppendLine("Characters in 1st line to read")
        stringToRead.AppendLine("and 2nd line")
        stringToRead.AppendLine("and the end")

        Using reader As StringReader = New StringReader(stringToRead.ToString())
            Dim readText As String = Await reader.ReadLineAsync()
            While Not IsNothing(readText)
                readText = Await reader.ReadLineAsync()
            End While
        End Using
    End Sub
End Module
' The example displays the following output:
' Characters in 1st line to read
' and 2nd line
' and the end