Click or drag to resize
StreamExtensionsReadAsync Method (Stream, Byte, Int32, Int32)
Asynchronously reads a sequence of bytes from a stream and advances the position within the stream by the number of bytes read.

Namespace: Rackspace.Threading
Assembly: Rackspace.Threading (in Rackspace.Threading.dll) Version: 2.1.0-beta1
Syntax
public static Task<int> ReadAsync(
	this Stream stream,
	byte[] buffer,
	int offset,
	int count
)

Parameters

stream
Type: System.IOStream
The stream to read data from.
buffer
Type: SystemByte
The buffer to write the data into.
offset
Type: SystemInt32
The byte offset in buffer at which to begin writing data from the stream.
count
Type: SystemInt32
The maximum number of bytes to read.

Return Value

Type: TaskInt32
A task that represents the asynchronous read operation. When the task completes successfully, the Result property contains the total number of bytes read into the buffer. The result value can be less than the number of bytes requested if the number of bytes currently available is less than the requested number, or it can be 0 (zero) if the end of the stream has been reached.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type Stream. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).
Exceptions
ExceptionCondition
ArgumentNullException

If stream is .

-or-

If buffer is .

ArgumentOutOfRangeException

If offset is negative.

-or-

If count is negative.

ArgumentException

If the sum of offset and count is larger than the buffer length.

NotSupportedException

If stream does not support reading.

ObjectDisposedException

If stream has been disposed.

InvalidOperationException

If stream is currently in use by a previous read operation.

Remarks

Use the CanRead property to determine whether the stream instance supports reading.

Version Information

.NET for Windows Store apps

Supported in: Windows 8

.NET Framework

Supported in: 4.5, 4.0, 3.5

Portable Class Library

Supported in: Portable Class Library (Legacy), Portable Class Library

Threading Library

Supported in: 2.1, 2.0, 1.1, 1.0
See Also