Rune.DecodeLastFromUtf16(ReadOnlySpan<Char>, Rune, Int32) 方法

定義

解碼所提供 UTF-16 來源緩衝區結尾的 Rune

public:
 static System::Buffers::OperationStatus DecodeLastFromUtf16(ReadOnlySpan<char> source, [Runtime::InteropServices::Out] System::Text::Rune % result, [Runtime::InteropServices::Out] int % charsConsumed);
public static System.Buffers.OperationStatus DecodeLastFromUtf16 (ReadOnlySpan<char> source, out System.Text.Rune result, out int charsConsumed);
static member DecodeLastFromUtf16 : ReadOnlySpan<char> * Rune * int -> System.Buffers.OperationStatus
Public Shared Function DecodeLastFromUtf16 (source As ReadOnlySpan(Of Char), ByRef result As Rune, ByRef charsConsumed As Integer) As OperationStatus

參數

source
ReadOnlySpan<Char>

唯讀 UTF-16 編碼字元範圍。

result
Rune

當此方法傳回時,會是已解碼的 rune。

charsConsumed
Int32

當此方法傳回時,會是讀取以建立 rune 的位元組數目。

傳回

OperationStatus

如果來源緩衝區是以有效的 UTF-16 編碼純量值開頭,則為 Doneresult 則會包含已解碼的 Rune,且 charsConsumed 會包含輸入緩衝區中用來編碼 RuneChar 值數目。

如果來源緩衝區是空的或只包含獨立 UTF-16 高代理字元,則為 NeedMoreDataresult 則會包含 ReplacementChar,且 charsConsumed 會包含輸入緩衝區的長度。

如果來源緩衝區是以語式錯誤的 UTF-16 編碼純量值開頭,則為 InvalidDataresult 則會包含 ReplacementChar,且 charsConsumed 會包含用來編碼語式錯誤序列的 Char 值數目。 .

備註

這個方法與 非常類似 DecodeFromUtf16(ReadOnlySpan<Char>, Rune, Int32) ,不同之處在于它可讓呼叫端回溯迴圈,而不是向前迴圈。 典型的呼叫慣例是在迴圈的每個反復專案上,呼叫端應該將緩衝區的最後 charsConsumed 元素 source 配量。

適用於