信息
您所需的主题如下所示。但此主题未包含在此库中。

Stream.ReadAsync 方法 (Byte[], Int32, Int32)

2013/12/13

从当前流异步读取字节序列,并将流中的位置向前移动读取的字节数。

Namespace:  System.IO
程序集:  mscorlib(位于 mscorlib.dll 中)

public Task<int> ReadAsync(
	byte[] buffer,
	int offset,
	int count
)

参数

buffer
类型: System.Byte []
数据写入的缓冲区。
offset
类型: System.Int32
buffer 中的字节偏移量,从此处开始写入来自流的数据。
count
类型: System.Int32
读取的最大字节数。

返回值

类型: System.Threading.Tasks.Task<Int32>
表示异步读取操作的任务。TResult 参数的值,包含读取到缓冲区的总字节数。如果当前可用的字节数小于请求的字节数,结果值可以小于请求的字节数;如果到达流的末尾,该值可以为 0 (零)。

异常条件
ArgumentNullException

buffernull

ArgumentOutOfRangeException

offsetcount 为负。

ArgumentException

offsetcount 的和大于缓冲区长度。

NotSupportedException

流不支持读取。

ObjectDisposedException

流已被释放。

InvalidOperationException

流当前正由上一读取操作使用。

ReadAsync 方法使您能够执行资源密集型 I/O 操作,而不阻塞主线程。此性能注意事项在 Windows 商店 应用或 桌面 应用中尤其重要,因为在上述应用中,耗时的流操作可阻塞 UI 线程,并使您的应用看似未在工作。在 Visual Basic 和 C# 中,async 方法与 asyncawait 关键字结合使用。

使用 CanRead 属性可确定当前实例是否支持读取。

Windows Phone OS

受以下版本支持: 8.0

显示: