导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

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

2013/12/13

从当前流中异步读取字节序列,在该流中按照读取的字节数向前移动位置,并监视取消请求。

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

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

参数

buffer
类型: System.Byte []
数据写入的缓冲区。
offset
类型: System.Int32
buffer 中的字节偏移量,从此处开始写入来自流的数据。
count
类型: System.Int32
读取的最大字节数。
cancellationToken
类型: System.Threading.CancellationToken
监视取消请求的标记。默认值为 None

返回值

类型: 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 属性可确定当前实例是否支持读取。

如果操作在完成之前被取消,则返回的任务包含 Status 属性的 Canceled 值。

有关示例,请参见 ReadAsync 重载。

Windows Phone OS

受以下版本支持: 8.0

显示:
© 2014 Microsoft