Поделиться через


SequenceReader<T> Структура

Определение

Предоставляет методы для чтения двоичных и текстовых данных за пределами ReadOnlySequence<T>, уделяя особое внимание производительности и тому, чтобы количество выделений кучи было минимальным или нулевым.

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

Параметры типа

T

Тип последовательности, доступной только для чтения.

Наследование
SequenceReader<T>

Конструкторы

SequenceReader<T>(ReadOnlySequence<T>)

Создает объект SequenceReader<T> для данной последовательности ReadOnlySequence<T>.

Свойства

Consumed

Возвращает общее количество значений T, обработанных средством чтения.

CurrentSpan

Возвращает объект Span<T>, который содержит текущий сегмент в Sequence.

CurrentSpanIndex

Возвращает индекс в CurrentSpan.

End

Возвращает значение, которое указывает, есть ли еще данные в Sequence.

Length

Возвращает число элементов в последовательности Sequence средства чтения.

Position

Возвращает текущую позицию в Sequence.

Remaining

Возвращает оставшиеся элементы в объекте Sequenceчтения .

Sequence

Возвращает базовый объект ReadOnlySequence<T> для средства чтения.

UnreadSequence

Возвращает часть диапазона Sequence, которая не была считана.

UnreadSpan

Возвращает часть диапазона CurrentSpan, которая не была считана.

Методы

Advance(Int64)

Перемещает средство чтения вперед на заданное число элементов.

AdvancePast(T)

Выполняет перемещение за идущие подряд экземпляры value.

AdvancePastAny(ReadOnlySpan<T>)

Пропускает идущие подряд экземпляры любых указанных значений values.

AdvancePastAny(T, T)

Выполняет перемещение за идущие подряд экземпляры одного из двух указанных значений.

AdvancePastAny(T, T, T)

Выполняет перемещение за идущие подряд экземпляры одного из трех указанных значений.

AdvancePastAny(T, T, T, T)

Выполняет перемещение за идущие подряд экземпляры одного из четырех указанных значений.

AdvanceToEnd()

Перемещает средство чтения в конец последовательности.

IsNext(ReadOnlySpan<T>, Boolean)

Проверяет, являются ли значения, указанные в диапазоне только для чтения, следующими в последовательности.

IsNext(T, Boolean)

Проверяет, является ли указанное значение следующим в последовательности.

Rewind(Int64)

Перемещает средство чтения назад на заданное число элементов.

TryAdvanceTo(T, Boolean)

Ищет указанный разделитель и при необходимости выполняет перемещение за него.

TryAdvanceToAny(ReadOnlySpan<T>, Boolean)

Ищет любой из указанных разделителей и при необходимости выполняет перемещение за первый найденный разделитель.

TryCopyTo(Span<T>)

Копирует данные из текущей позиции в указанный конечный диапазон, если их достаточно для заполнения этого диапазона.

TryPeek(Int64, T)

Считывает следующее значение в текущем смещении, не перемещая средство чтения.

TryPeek(T)

Считывает следующее значение, не перемещая средство чтения.

TryRead(T)

Считывает следующее значение и перемещает средство чтения.

TryReadExact(Int32, ReadOnlySequence<T>)

Пытается считывать точно count значения из текущей последовательности.

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

Пытается считать данные до нахождения полного разделителя, указанного как диапазон только для чтения.

TryReadTo(ReadOnlySequence<T>, T, Boolean)

Пытается считать все данные до указанного разделителя delimiter.

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

Пытается считать все данные до данного разделителя delimiter, пропуская разделители, перед которыми указан delimiterEscape.

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

Попытаться считать все данные до указанного разделителя delimiter.

TryReadTo(ReadOnlySpan<T>, T, Boolean)

Пытается считать все данные до указанного разделителя delimiter.

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

Пытается считать все данные до данного разделителя delimiter, пропуская разделители, перед которыми указан delimiterEscape.

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

Пытается считать все данные до любого из указанных разделителей delimiters.

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

Пытается считать все данные до любого из указанных разделителей delimiters.

Применяется к