Utf8JsonReader.ValueSequence プロパティ


トークンが複数のセグメントに含まれている場合にのみ、最後に処理されたトークンの生の値を入力ペイロードの ReadOnlySequence<byte> スライスとして取得します。Gets the raw value of the last processed token as a ReadOnlySequence<byte> slice of the input payload, only if the token is contained within multiple segments.

 property System::Buffers::ReadOnlySequence<System::Byte> ValueSequence { System::Buffers::ReadOnlySequence<System::Byte> get(); };
public System.Buffers.ReadOnlySequence<byte> ValueSequence { get; }
member this.ValueSequence : System.Buffers.ReadOnlySequence<byte>
Public ReadOnly Property ValueSequence As ReadOnlySequence(Of Byte)



バイト読み取り専用シーケンス。A byte read-only sequence.


JSON が ReadOnlySequence<byte> 内に指定されていて、トークン値を表すスライスが単一のセグメント内に収まる場合、ValueSpan にはスライスされた値が格納されます。それをスパンとして表現できるからです。If the JSON is provided within a ReadOnlySequence<byte> and the slice that represents the token value fits in a single segment, then ValueSpan contains the sliced value since it can be represented as a span. それ以外の場合、ValueSequence にはトークン値が格納されます。Otherwise, ValueSequence contains the token value.

がの場合 HasValueSequence falseValueSequence は空です。If HasValueSequence is false, ValueSequence is empty. したがって、がの場合にのみアクセスし ValueSequence HasValueSequence true ます。Therefore, only access ValueSequence if HasValueSequence is true. それ以外の場合は、からトークン値にアクセスする必要があり ValueSpan ます。Otherwise, the token value must be accessed from ValueSpan.

このプロパティに常に適切な形式のデータが含まれるという保証はありません。There is no guarantee that this property will always contain well-formed data. に渡された入力 JSON に Utf8JsonReader JSON 文字列トークン内の無効な utf-8 バイトが含まれている場合、このプロパティは無効な utf-8 バイトをそのように返します。If the input JSON passed in to the Utf8JsonReader contains invalid UTF-8 bytes within JSON string tokens, this property will return back those invalid UTF-8 bytes as is. そのため、入力が信頼されていないか、事前に検証されていない場合は、を呼び出して GetString() JSON 文字列トークンを取得します。Therefore, if the input is untrusted or not previously validated, call GetString() to get the JSON string token.

このプロパティは生のバイトを返すため、テキストの比較には使用しないでください。Since this property returns the raw bytes, avoid using it for text comparison. 代わりに ValueTextEquals 、必要に応じてテキストを unescapes するを呼び出します。Instead call ValueTextEquals, which unescapes the text if necessary.