共用方式為


StringReader.ReadLineAsync 方法

定義

多載

ReadLineAsync()

自目前字串非同步讀取一行字元,並將資料以字串傳回。

ReadLineAsync(CancellationToken)

自目前字串非同步讀取一行字元,並將資料以字串傳回。

ReadLineAsync()

來源:
StringReader.cs
來源:
StringReader.cs
來源:
StringReader.cs

自目前字串非同步讀取一行字元,並將資料以字串傳回。

public:
 override System::Threading::Tasks::Task<System::String ^> ^ ReadLineAsync();
public override System.Threading.Tasks.Task<string> ReadLineAsync ();
public override System.Threading.Tasks.Task<string?> ReadLineAsync ();
[System.Runtime.InteropServices.ComVisible(false)]
public override System.Threading.Tasks.Task<string> ReadLineAsync ();
override this.ReadLineAsync : unit -> System.Threading.Tasks.Task<string>
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.ReadLineAsync : unit -> System.Threading.Tasks.Task<string>
Public Overrides Function ReadLineAsync () As Task(Of String)

傳回

表示非同步讀取作業的工作。 TResult參數的值會包含字串讀取器中的下一行,或者是null(如果已經讀取所有字元)。

屬性

例外狀況

下一行中的字元數大於 Int32.MaxValue

字串讀取器已處置。

之前的讀取作業目前正在使用讀取器。

範例

下列範例示範如何以異步方式從字串一次讀取一行。

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

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            ReadCharacters();
        }

        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)
                {
                    Console.WriteLine(readText);
                }
            }
        }
    }
}
// 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()
        ReadCharacters()
    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)
                Console.WriteLine(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
'

備註

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException,仍會同步擲回。 如需預存的例外狀況,請參閱 所 ReadLine()擲回的例外狀況。

適用於

ReadLineAsync(CancellationToken)

來源:
StringReader.cs
來源:
StringReader.cs
來源:
StringReader.cs

自目前字串非同步讀取一行字元,並將資料以字串傳回。

public:
 override System::Threading::Tasks::ValueTask<System::String ^> ReadLineAsync(System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.ValueTask<string?> ReadLineAsync (System.Threading.CancellationToken cancellationToken);
override this.ReadLineAsync : System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<string>
Public Overrides Function ReadLineAsync (cancellationToken As CancellationToken) As ValueTask(Of String)

參數

cancellationToken
CancellationToken

用來監視是否有取消要求的語彙基元。

傳回

代表非同步讀取作業的值工作。 參數的值 TResult 包含字串讀取器的下一行,如果已讀取所有字元,則為 null

例外狀況

下一行中的字元數大於 Int32.MaxValue

字串讀取器已處置。

之前的讀取作業目前正在使用讀取器。

取消令牌已取消。 此例外狀況會儲存在傳回的工作中。

備註

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException,仍會同步擲回。 如需預存的例外狀況,請參閱 所 ReadLine()擲回的例外狀況。

適用於