Rune.DecodeLastFromUtf16(ReadOnlySpan<Char>, Rune, Int32) Metoda

Definicja

Dekoduje wartość Rune na końcu dostarczonego buforu źródłowego UTF-16.

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

Parametry

source
ReadOnlySpan<Char>

Zakres znaków zakodowanych tylko do odczytu UTF-16.

result
Rune

Gdy ta metoda zostanie zwrócona, zdekodowany element rune.

charsConsumed
Int32

Gdy ta metoda zwróci wartość , liczba bajtów odczytanych w celu utworzenia elementu rune.

Zwraca

Done jeśli bufor źródłowy rozpoczyna się od prawidłowej zakodowanej wartości skalarnej UTF-16. resultnastępnie zawiera dekodowane Runewartości i charsConsumed zawiera liczbę wartości używanych Char w buforze wejściowym w celu zakodowania .Rune

NeedMoreData jeśli bufor źródłowy jest pusty lub zawiera tylko autonomiczny znak zastępczy UTF-16. result ReplacementCharzawiera element i charsConsumed zawiera długość buforu wejściowego.

InvalidData jeśli bufor źródłowy rozpoczyna się od źle sformułowanej wartości skalarnej UTF-16. result element zawiera ReplacementCharelement i charsConsumed zawiera liczbę wartości używanych Char do kodowania źle sformułowanej sekwencji. .

Uwagi

Ta metoda jest bardzo podobna do DecodeFromUtf16(ReadOnlySpan<Char>, Rune, Int32)metody , z tą różnicą, że obiekt wywołujący może pętli do tyłu zamiast do przodu. Typowa konwencja wywoływania polega na tym, że w każdej iteracji pętli obiekt wywołujący powinien odciąć końcowe charsConsumed elementy buforu source .

Dotyczy