Rune.DecodeFromUtf16(ReadOnlySpan<Char>, Rune, Int32) Rune.DecodeFromUtf16(ReadOnlySpan<Char>, Rune, Int32) Rune.DecodeFromUtf16(ReadOnlySpan<Char>, Rune, Int32) Rune.DecodeFromUtf16(ReadOnlySpan<Char>, Rune, Int32) Method

Definizione

Decodifica l'oggetto Rune all'inizio del buffer di origine UTF-16 specificato.Decodes the Rune at the beginning of the provided UTF-16 source buffer.

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

Parametri

source
ReadOnlySpan<Char>

Intervallo di caratteri UTF-16 di sola lettura.A read-only UTF-16 character span.

result
Rune Rune Rune Rune

Al termine del metodo, la runa decodificata.When this method returns, the decoded rune.

charsConsumed
Int32 Int32 Int32 Int32

Al termine del metodo, il numero di caratteri letti per creare la runa.When this method returns, the number of characters read to create the rune.

Restituisce

Done se il buffer di origine inizia con un valore scalare con codifica UTF-16 valido.Done if the source buffer begins with a valid UTF-16 encoded scalar value. result contiene quindi il valore Rune decodificato e charsConsumed contiene il numero di valori Char usati nel buffer di input per codificare Rune.result then contains the decoded Rune, and charsConsumed contains the number of Char values used in the input buffer to encode the Rune.

NeedMoreData se il buffer di origine è vuoto o contiene solo un carattere surrogato alto UTF-16 autonomo.NeedMoreData if the source buffer is empty or contains only a standalone UTF-16 high surrogate character. result contiene quindi ReplacementChar e charsConsumed contiene la lunghezza del buffer di input.result then contains ReplacementChar, and charsConsumed contains the length of the input buffer.

InvalidData se il buffer di origine inizia con un valore scalare con codifica UTF-16 in formato non valido.InvalidData if the source buffer begins with an ill-formed UTF-16 encoded scalar value. result contiene quindi ReplacementChar e charsConsumed contiene il numero di valori Char usati per codificare la sequenza in formato non valido.result then contains ReplacementChar, and charsConsumed contains the number of Char values used to encode the ill-formed sequence.

Commenti

La convenzione generale prevede di chiamare questo metodo in un ciclo, sezionando il source buffer in charsConsumed base a elementi a ogni iterazione del ciclo.The general convention is to call this method in a loop, slicing the source buffer by charsConsumed elements on each iteration of the loop. A ogni iterazione del ciclo, result contiene il valore scalare reale se i dati sono stati decodificati correttamente o contiene Rune.ReplacementChar se i dati non sono stati decodificati correttamente.On each iteration of the loop, result contains the real scalar value if the data was successfully decoded, or it contains Rune.ReplacementChar if the data was not successfully decoded. Questo modello offre una comoda sostituzione automatica di U + FFFD di sequenze non valide durante l'iterazione del ciclo.This pattern provides convenient automatic U+FFFD substitution of invalid sequences while iterating through the loop.

Si applica a