本文為機器翻譯文章。如需檢視英文版,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

Stream.EndRead 方法 (IAsyncResult)

 

等候暫止的非同步讀取完成。 (請考慮改用 ReadAsync。請參閱<備註>一節)。

命名空間:   System.IO
組件:  mscorlib (於 mscorlib.dll)

public virtual int EndRead(
	IAsyncResult asyncResult
)

參數

asyncResult
Type: System.IAsyncResult

要完成的擱置中非同步要求的參考。

傳回值

Type: System.Int32

從資料流讀取的位元組數,位於零 (0) 和您所要求的位元組數之間。 資料流只在資料流結尾傳回零 (0),否則,它們應該封鎖,直到至少有一個位元組可用為止。

Exception Condition
ArgumentNullException

asyncResultnull

ArgumentException

無法暫止的讀取作業的控制代碼。

-或-

暫止的作業不支援讀取。

InvalidOperationException

asyncResult 不是來自 BeginRead 上目前的資料流的方法。

IOException

資料流已關閉或發生內部錯誤。

在.NET Framework 4 和早期版本中,您必須使用的方法,例如 BeginReadEndRead 來實作非同步 I/O 作業。 這些方法仍在 .NET Framework 4.5 以支援舊版的程式碼; 不過,新的非同步方法,例如 ReadAsync, ,WriteAsync, ,CopyToAsync, ,和 FlushAsync, ,協助您更輕鬆地實作非同步 I/O 作業。

呼叫 EndRead 來判斷有多少位元組被讀取自資料流。

EndRead 可以在上一次呼叫每個 IAsyncResultBeginRead

這個方法會封鎖,直到 I/O 作業完成為止。

.NET Framework
自 1.1 起供應
可攜式類別庫
提供支援︰ 可攜式 .NET 平台
Silverlight
自 2.0 起供應
Windows Phone Silverlight
自 7.0 起供應
回到頁首
顯示: