StreamReader.ReadLineAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
ReadLineAsync() |
自目前資料流非同步讀取一行字元,並將資料以字串傳回。 |
ReadLineAsync(CancellationToken) |
自目前資料流非同步讀取一行字元,並將資料以字串傳回。 |
ReadLineAsync()
自目前資料流非同步讀取一行字元,並將資料以字串傳回。
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)
自目前資料流非同步讀取一行字元,並將資料以字串傳回。
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()擲回的例外狀況。