MemoryStream.ReadAsync 메서드

정의

오버로드

ReadAsync(Memory<Byte>, CancellationToken)

현재의 메모리 스트림에서 바이트 시퀀스를 비동기적으로 읽어 destination에 쓰고, 이 메모리 스트림 내에서 기록한 바이트 수만큼 현재 위치를 앞으로 이동한 후, 취소 요청을 모니터링합니다.Asynchronously reads a sequence of bytes from the current memory stream, writes the sequence into destination, advances the position within the memory stream by the number of bytes read, and monitors cancellation requests.

ReadAsync(Byte[], Int32, Int32, CancellationToken)

현재 스트림에서 바이트의 시퀀스를 비동기적으로 읽고 읽은 바이트 수만큼 스트림 내에서 앞으로 이동하며 취소 요청을 모니터링합니다.Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

ReadAsync(Memory<Byte>, CancellationToken)

현재의 메모리 스트림에서 바이트 시퀀스를 비동기적으로 읽어 destination에 쓰고, 이 메모리 스트림 내에서 기록한 바이트 수만큼 현재 위치를 앞으로 이동한 후, 취소 요청을 모니터링합니다.Asynchronously reads a sequence of bytes from the current memory stream, writes the sequence into destination, advances the position within the memory stream by the number of bytes read, and monitors cancellation requests.

public override System.Threading.Tasks.ValueTask<int> ReadAsync (Memory<byte> destination, System.Threading.CancellationToken cancellationToken = default);
override this.ReadAsync : Memory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Overrides Function ReadAsync (destination As Memory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

매개 변수

destination
Memory<Byte>

데이터를 기록할 메모리의 영역입니다.The region of memory to write the data into.

cancellationToken
CancellationToken

취소 요청을 모니터링할 토큰입니다.The token to monitor for cancellation requests. 기본값은 None입니다.The default value is None.

반환

ValueTask<Int32>

비동기 읽기 작업을 나타내는 작업입니다.A task that represents the asynchronous read operation. Result 속성의 값은 destination로 읽어들인 총 바이트 수를 포함합니다.The value of its Result property contains the total number of bytes read into the destination. 현재 많은 바이트를 쓸 수 없는 경우 결과 값이 destination에 할당된 바이트 수보다 적을 수 있으며, 메모리 스트림의 끝에 도달하면 0이 될 수도 있습니다.The result value can be less than the number of bytes allocated in destination if that many bytes are not currently available, or it can be 0 (zero) if the end of the memory stream has been reached.

적용 대상

ReadAsync(Byte[], Int32, Int32, CancellationToken)

현재 스트림에서 바이트의 시퀀스를 비동기적으로 읽고 읽은 바이트 수만큼 스트림 내에서 앞으로 이동하며 취소 요청을 모니터링합니다.Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

public:
 override System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <System::Byte> ^ buffer, int offset, int count, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
[System.Runtime.InteropServices.ComVisible(false)]
public override System.Threading.Tasks.Task<int> ReadAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
Public Overrides Function ReadAsync (buffer As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task(Of Integer)

매개 변수

buffer
Byte[]

데이터를 쓸 버퍼입니다.The buffer to write the data into.

offset
Int32

스트림의 데이터를 쓰기 시작할 buffer의 바이트 오프셋입니다.The byte offset in buffer at which to begin writing data from the stream.

count
Int32

읽을 최대 바이트 수입니다.The maximum number of bytes to read.

cancellationToken
CancellationToken

취소 요청을 모니터링할 토큰입니다.The token to monitor for cancellation requests. 기본값은 None입니다.The default value is None.

반환

Task<Int32>

비동기 읽기 작업을 나타내는 작업입니다.A task that represents the asynchronous read operation. TResult 매개 변수의 값은 버퍼 안으로 읽어들인 총 바이트 수를 포함합니다.The value of the TResult parameter contains the total number of bytes read into the buffer. 현재 사용할 수 있는 바이트 수가 요청된 수보다 작을 경우 결과 값이 요청된 바이트 수보다 작을 수 있으며 스트림의 끝에 도달한 경우에는 0이 될 수도 있습니다.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.

특성

예외

buffer이(가) null인 경우buffer is null.

offset 또는 count가 음수입니다.offset or count is negative.

offsetcount의 합계가 버퍼 길이보다 큽니다.The sum of offset and count is larger than the buffer length.

스트림이 읽기를 지원하지 않습니다.The stream does not support reading.

스트림이 삭제되었습니다.The stream has been disposed.

스트림을 현재 이전 읽기 작업에서 사용 중입니다.The stream is currently in use by a previous read operation.

설명

작업이 완료 되기 전에 취소 되는 경우 반환 된 작업에는 Canceled 속성에 대 한 값이 포함 됩니다 Status .If the operation is canceled before it completes, the returned task contains the Canceled value for the Status property.

클래스의 인스턴스를 만들고 CancellationTokenSource Token 속성을 매개 변수로 전달 하 여 취소 토큰을 만들 수 있습니다 cancellationToken .You can create a cancellation token by creating an instance of the CancellationTokenSource class and passing the Token property as the cancellationToken parameter.

적용 대상