StreamReader.ReadLineAsync 方法

定義

多載

名稱 Description
ReadLineAsync()

非同步讀取目前串流中的一行字元,並將資料以字串形式回傳。

ReadLineAsync(CancellationToken)

非同步讀取目前串流中的一行字元,並將資料以字串形式回傳。

ReadLineAsync()

來源:
StreamReader.cs
來源:
StreamReader.cs
來源:
StreamReader.cs
來源:
StreamReader.cs
來源:
StreamReader.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 還多。

溪流已被處理。

讀取器目前正被先前的讀取操作使用。

範例

以下範例展示了如何利用此 ReadLineAsync() 方法讀取檔案的第一行。

using System;
using System.IO;

namespace ConsoleApplication
{
    class Program
    {
        static async Task Main()
        {
            await ReadCharacters();
        }

        static async Task ReadCharacters()
        {
            String result;
            using (StreamReader reader = File.OpenText("existingfile.txt"))
            {
                Console.WriteLine("Opened file.");
                result = await reader.ReadLineAsync();
                Console.WriteLine("First line contains: " + result);
            }
        }
    }
}
Imports System.IO

Module Module1

    Sub Main()
        ReadCharacters()
    End Sub

    Async Sub ReadCharacters()
        Dim result As String

        Using reader As StreamReader = File.OpenText("existingfile.txt")
            Console.WriteLine("Opened file.")
            result = Await reader.ReadLineAsync()
            Console.WriteLine("First line contains: " + result)
        End Using
    End Sub
End Module

備註

此方法在任務中儲存所有非使用例外,該方法的同步對應程式可拋出這些例外。 如果回傳的任務中儲存了例外,該例外會在等待任務時拋出。 使用例外錯誤,例如 ArgumentException,仍會同步拋出。 關於儲存的例外,請參見由 ReadLine()拋出的例外。

適用於

ReadLineAsync(CancellationToken)

來源:
StreamReader.cs
來源:
StreamReader.cs
來源:
StreamReader.cs
來源:
StreamReader.cs
來源:
StreamReader.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 還多。

串流讀取器已被處理。

讀取器目前正被先前的讀取操作使用。

取消令牌也被取消了。 此例外會儲存在回傳的任務中。

備註

若透過 cancellationToken取消此方法,可能會遺失部分已從目前 Stream 讀取但未被儲存(由 StreamReader)或返回(呼叫者)的資料。

此方法在任務中儲存所有非使用例外,該方法的同步對應程式可拋出這些例外。 如果回傳的任務中儲存了例外,該例外會在等待任務時拋出。 使用例外錯誤,例如 ArgumentException,仍會同步拋出。 關於儲存的例外,請參見由 ReadLine()拋出的例外。

適用於