SequenceReader<T> 構造体

定義

パフォーマンスと最小またはゼロのヒープ割り当てに重点を置いて、ReadOnlySequence<T> からバイナリおよびテキスト データを読み取るためのメソッドを提供します。Provides methods for reading binary and text data out of a ReadOnlySequence<T> with a focus on performance and minimal or zero heap allocations.

generic <typename T>
 where T : value classpublic value class SequenceReader
public struct SequenceReader<T> where T : struct
type SequenceReader<'T (requires 'T : struct)> = struct
Public Structure SequenceReader(Of T)

型パラメーター

T

読み取り専用シーケンスの型。The type of the read-only sequence.

継承
SequenceReader<T>

コンストラクター

SequenceReader<T>(ReadOnlySequence<T>)

指定した SequenceReader<T> に対して ReadOnlySequence<T> を作成します。Creates a SequenceReader<T> over a given ReadOnlySequence<T>.

プロパティ

Consumed

リーダーで処理された T 値の合計数を取得します。Gets the total number of T values processed by the reader.

CurrentSpan

Span<T> 内の現在のセグメントが格納されている Sequence を取得します。Gets a Span<T> that contains the current segment in the Sequence.

CurrentSpanIndex

CurrentSpan 内のインデックスを取得します。Gets the index in the CurrentSpan.

End

Sequence にこれ以上データがないかどうかを示す値を取得します。Gets a value that indicates whether there is no more data in the Sequence.

Length

リーダーの Sequence 内の項目の数を取得します。Gets the count of items in the reader's Sequence.

Position

Sequence 内の現在の位置を取得します。Gets the current position in the Sequence.

Remaining

リーダーの Sequence 内の残りの項目を取得します。Gets the remaining items in the reader's Sequence.

Sequence

リーダーの基になる ReadOnlySequence<T> を取得します。Gets the underlying ReadOnlySequence<T> for the reader.

UnreadSpan

CurrentSpan の未読の部分を取得します。Gets the unread portion of the CurrentSpan.

メソッド

Advance(Int64)

指定した項目数の分、リーダーを前進させます。Moves the reader ahead a specified number of items.

AdvancePast(T)

指定された value の連続するインスタンスを超えて前進させます。Advances past consecutive instances of the given value.

AdvancePastAny(ReadOnlySpan<T>)

指定したいずれかの values の連続するインスタンスをスキップします。Skips consecutive instances of any of the specified values.

AdvancePastAny(T, T)

指定した値のいずれかの連続するインスタンスを超えて前進させます。Advances past consecutive instances of either of two specified values.

AdvancePastAny(T, T, T)

指定した 3 つの値のいずれかの連続するインスタンスを超えて前進させます。Advances past consecutive instances of any of three specified values.

AdvancePastAny(T, T, T, T)

指定した 4 つの値のいずれかの連続するインスタンスを超えて前進させます。Advances past consecutive instances of any of four specified values.

IsNext(ReadOnlySpan<T>, Boolean)

読み取り専用スパンで指定された値がシーケンスの次にあるかどうかを確認します。Checks whether the values specified in a read-only span are next in the sequence.

IsNext(T, Boolean)

指定された値がシーケンスの次にあるかどうかを確認します。Checks whether a specified value is next in the sequence.

Rewind(Int64)

指定した項目数の分、リーダーを戻します。Moves the reader back the specified number of items.

TryAdvanceTo(T, Boolean)

指定された区切り記号を検索し、見つかった場合は必要に応じてそれを超えて前進します。Searches for a specified delimiter and optionally advances past it if it is found.

TryAdvanceToAny(ReadOnlySpan<T>, Boolean)

指定した任意の数の区切り記号を検索し、必要に応じて見つかった 1 つ目を超えて前進します。Searches for any of a number of specified delimiters and optionally advances past the first one to be found.

TryCopyTo(Span<T>)

スパンを埋めるのに十分なデータがある場合は、現在の位置から指定したコピー先スパンにデータをコピーします。Copies data from the current position to the given destination span if there is enough data to fill it.

TryPeek(T)

リーダーを前進させずに、次の値をピークします。Peeks at the next value without advancing the reader.

TryRead(T)

次の値を読み取ってリーダーを前進させます。Reads the next value and advance the reader.

TryReadTo(ReadOnlySequence<T>, ReadOnlySpan<T>, Boolean)

読み取り専用スパンとして指定された全体の区切り記号が一致するまで、データの読み取りが試行されます。Tries to read data until the entire delimiter specified as a read-only span matches.

TryReadTo(ReadOnlySequence<T>, T, Boolean)

指定された delimiter まですべての読み取りを試みます。Tries to read everything up to the given delimiter.

TryReadTo(ReadOnlySequence<T>, T, T, Boolean)

delimiter の後の区切り記号は無視して、指定された delimiterEscape まですべての読み取りを試みます。Tries to read everything up to the given delimiter, ignoring delimiters that are preceded by delimiterEscape.

TryReadTo(ReadOnlySpan<T>, T, Boolean)

指定された delimiter まですべての読み取りを試みます。Tries to read everything up to the given delimiter.

TryReadTo(ReadOnlySpan<T>, T, T, Boolean)

delimiter の後の区切り記号は無視して、指定された delimiterEscape まですべての読み取りを試みます。Tries to read everything up to the given delimiter, ignoring delimiters that are preceded by delimiterEscape.

TryReadToAny(ReadOnlySequence<T>, ReadOnlySpan<T>, Boolean)

指定したいずれかの delimiters まですべての読み取りを試みます。Tries to read everything up to any of the specified delimiters.

TryReadToAny(ReadOnlySpan<T>, ReadOnlySpan<T>, Boolean)

指定したいずれかの delimiters まですべての読み取りを試みます。Tries to read everything up to any of the specified delimiters.

適用対象