Stream.EndRead(IAsyncResult) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
等候暫止的非同步讀取完成。 (請考慮用 ReadAsync(Byte[], Int32, Int32) 替代。)
public:
virtual int EndRead(IAsyncResult ^ asyncResult);
public virtual int EndRead (IAsyncResult asyncResult);
abstract member EndRead : IAsyncResult -> int
override this.EndRead : IAsyncResult -> int
Public Overridable Function EndRead (asyncResult As IAsyncResult) As Integer
參數
- asyncResult
- IAsyncResult
要完成的擱置中非同步要求的參考。
傳回
從資料流程讀取的位元組數目,介於零 (0) 和要求的位元組數目之間。 ReadAsync 只會在要求零個位元組時傳回零 (0) ;如果資料流程結尾沒有可用的位元組,則傳回零個位元組;否則,讀取作業在至少有一個位元組可用之前不會完成。 如果要求零個位元組,讀取作業可能會立即完成,或直到至少有一個位元組可供使用 (,但不需要取用任何資料) 為止。
例外狀況
asyncResult
為 null
。
asyncResult
不是來自目前資料流的 BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) 方法。
資料流已關閉或發生內部錯誤。
備註
在 .NET Framework 4 (含) 以前版本中,您必須使用方法 (例如 BeginRead 和 EndRead ) 實作非同步 I/O 作業。 這些方法仍可在 .NET Framework 4.5 中使用,以支援舊版程式碼;不過,新的非同步方法,例如 ReadAsync 、 WriteAsync 、 CopyToAsync 和 FlushAsync ,可協助您更輕鬆地實作非同步 I/O 作業。
呼叫 EndRead
以判斷從資料流程讀取的位元組數目。
EndRead
每個 都可以從 BeginRead 呼叫一次 IAsyncResult 。
這個方法會封鎖,直到 I/O 作業完成為止。
適用於
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應