StringReader.ReadBlockAsync 方法

定義

多載

ReadBlockAsync(Memory<Char>, CancellationToken)

從目前位置開始,以非同步方式讀取輸入字串中的所有字元,並將目前位置往前移至輸入字串的結尾。Asynchronously reads all the characters from the input string starting at the current position and advances the current position to the end of the input string.

ReadBlockAsync(Char[], Int32, Int32)

從目前的字串非同步讀取指定的取大字元數目,並從指定的索引開始將資料寫入緩衝區。Reads a specified maximum number of characters from the current string asynchronously and writes the data to a buffer, beginning at the specified index.

ReadBlockAsync(Memory<Char>, CancellationToken)

從目前位置開始,以非同步方式讀取輸入字串中的所有字元,並將目前位置往前移至輸入字串的結尾。Asynchronously reads all the characters from the input string starting at the current position and advances the current position to the end of the input string.

public override System.Threading.Tasks.ValueTask<int> ReadBlockAsync (Memory<char> buffer, System.Threading.CancellationToken cancellationToken = null);
override this.ReadBlockAsync : Memory<char> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>

參數

buffer
Memory<Char>

當這個方法傳回時,會包含讀取自目前來源的字元。When this method returns, contains the characters read from the current source. 如果讀取的字元總數為零,則範圍會保持不變。If the total number of characters read is zero, the span remains unmodified.

cancellationToken
CancellationToken

用於監控取消要求的權杖。The token to monitor for cancellation requests. 預設值為 NoneThe default value is None.

傳回

表示非同步讀取作業的工作。A task representing the asynchronous read operation. TResult 參數的值會包含讀入緩衝區的字元總數。The value of the TResult parameter contains the total number of characters read into the buffer.

備註

ReadBlockAsync(Memory<Char>, CancellationToken) 會以非同步方式呼叫 ReadBlock(Span<Char>),進而直接呼叫 Read(Span<Char>)ReadBlockAsync(Memory<Char>, CancellationToken) calls ReadBlock(Span<Char>) asynchronously, which in turn calls Read(Span<Char>) directly.

ReadBlockAsync(Char[], Int32, Int32)

從目前的字串非同步讀取指定的取大字元數目,並從指定的索引開始將資料寫入緩衝區。Reads a specified maximum number of characters from the current string asynchronously and writes the data to a buffer, beginning at the specified index.

public:
 override System::Threading::Tasks::Task<int> ^ ReadBlockAsync(cli::array <char> ^ buffer, int index, int count);
[System.Runtime.InteropServices.ComVisible(false)]
public override System.Threading.Tasks.Task<int> ReadBlockAsync (char[] buffer, int index, int count);
override this.ReadBlockAsync : char[] * int * int -> System.Threading.Tasks.Task<int>
Public Overrides Function ReadBlockAsync (buffer As Char(), index As Integer, count As Integer) As Task(Of Integer)

參數

buffer
Char[]

當這個方法傳回時,會包含指定的字元陣列,這個陣列具有介於 index 到 (index + count - 1) 之間的值,已由讀取自目前來源的字元所取代。When this method returns, contains the specified character array with the values between index and (index + count - 1) replaced by the characters read from the current source.

index
Int32

buffer 中要開始寫入的位置。The position in buffer at which to begin writing.

count
Int32

要讀取的字元數上限。The maximum number of characters to read. 如果指定的字元數寫入緩衝區之前,便到達字串末端,則方法會返回。If the end of the string is reached before the specified number of characters is written into the buffer, the method returns.

傳回

表示非同步讀取作業的工作。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 string has been reached.

屬性

例外狀況

buffernullbuffer is null.

indexcount 是負數。index or count is negative.

indexcount 的總和大於緩衝區長度。The sum of index and count is larger than the buffer length.

字串讀取器已處置。The string reader has been disposed.

之前的讀取作業目前正在使用讀取器。The reader is currently in use by a previous read operation.

備註

直到讀取 count 參數所指定的字元數,或已到達字串結尾為止,工作才會完成。The task does not complete until either the number of characters specified by the count parameter are read, or the end of the string has been reached.

適用於