ReadOnlySpan<T> ReadOnlySpan<T> ReadOnlySpan<T> ReadOnlySpan<T> Struct

Определение

Предоставляет типобезопасную и безопасную для памяти реализацию непрерывной области произвольной памяти только для чтения.Provides a type-safe and memory-safe read-only representation of a contiguous region of arbitrary memory.

generic <typename T>
public value class ReadOnlySpan
public struct ReadOnlySpan<T>
type ReadOnlySpan<'T> = struct
Public Structure ReadOnlySpan(Of T)

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

T

Тип элементов в ReadOnlySpan<T>.The type of items in the ReadOnlySpan<T>.

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

Комментарии

ReadOnlySpan<T>— Это структура ссылки , которая выделяется в стеке и никогда не может переключаться на управляемую кучу.ReadOnlySpan<T> is a ref struct that is allocated on the stack and can never escape to the managed heap. Типы структур ref имеют ряд ограничений, чтобы гарантировать, что их нельзя повысить до управляемой кучи, в том числе что они не могут быть упакованы, захвачены в лямбда-выражениях Object, назначены dynamic переменным типа, назначенным переменным и они не могут реализовывать тип интерфейса.Ref struct types have a number of restrictions to ensure that they cannot be promoted to the managed heap, including that they can't be boxed, captured in lambda expressions, assigned to variables of type Object, assigned to dynamic variables, and they cannot implement any interface type.

ReadOnlySpan<T> Экземпляр часто используется для ссылки на элементы массива или части массива.A ReadOnlySpan<T> instance is often used to reference the elements of an array or a portion of an array. Однако в отличие от массива, ReadOnlySpan<T> экземпляр может указывать на управляемую память, собственную память или управляемую память в стеке.Unlike an array, however, a ReadOnlySpan<T> instance can point to managed memory, native memory, or memory managed on the stack.

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

ReadOnlySpan<T>(T[]) ReadOnlySpan<T>(T[]) ReadOnlySpan<T>(T[]) ReadOnlySpan<T>(T[])

Создает новый объект ReadOnlySpan<T> по всему указанному массиву.Creates a new ReadOnlySpan<T> over the entirety of a specified array.

ReadOnlySpan<T>(Void*, Int32) ReadOnlySpan<T>(Void*, Int32) ReadOnlySpan<T>(Void*, Int32) ReadOnlySpan<T>(Void*, Int32)

Создает объект ReadOnlySpan<T> из указанного числа элементов T, начиная с заданного адреса памяти.Creates a new ReadOnlySpan<T> from a specified number of T elements starting at a specified memory address.

ReadOnlySpan<T>(T[], Int32, Int32) ReadOnlySpan<T>(T[], Int32, Int32) ReadOnlySpan<T>(T[], Int32, Int32) ReadOnlySpan<T>(T[], Int32, Int32)

Создает новый объект ReadOnlySpan<T>, который включает указанное число элементов массива, начиная с указанного индекса.Creates a new ReadOnlySpan<T> that includes a specified number of elements of an array starting at a specified index.

Свойства

Empty Empty Empty Empty

Возвращает пустой массив ReadOnlySpan<T>.Returns an empty ReadOnlySpan<T>.

IsEmpty IsEmpty IsEmpty IsEmpty

Возвращает значение, указывающее на то, что текущий диапазон только для чтения пуст.Returns a value that indicates the current read-only span is empty.

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Возвращает элемент из диапазона только для чтения по начинающемуся с нуля индексу.Gets an item from the read-only span at the specified zero-based index.

Length Length Length Length

Количество элементов в диапазоне только для чтения.The number of items in the read-only span.

Методы

CopyTo(Span<T>) CopyTo(Span<T>) CopyTo(Span<T>) CopyTo(Span<T>)

Копирует содержимое этого объекта ReadOnlySpan<T> в назначение Span<T>.Copies the contents of this ReadOnlySpan<T> into a destination Span<T>.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Не поддерживается.Not supported. Создает исключение NotSupportedException.Throws a NotSupportedException.

GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Возвращает перечислитель для коллекции ReadOnlySpan<T>.Returns an enumerator for this ReadOnlySpan<T>.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Не поддерживается.Not supported. Создает исключение NotSupportedException.Throws a NotSupportedException.

GetPinnableReference() GetPinnableReference() GetPinnableReference() GetPinnableReference()
Slice(Int32) Slice(Int32) Slice(Int32) Slice(Int32)

Формирует срез вне текущего диапазона только для чтения, который начинается с указанного индекса.Forms a slice out of the current read-only span that begins at a specified index.

Slice(Int32, Int32) Slice(Int32, Int32) Slice(Int32, Int32) Slice(Int32, Int32)

Формирует срез вне текущего диапазона только для чтения, начиная с указанного индекса до указанной длины.Forms a slice out of the current read-only span starting at a specified index for a specified length.

ToArray() ToArray() ToArray() ToArray()

Копирует содержимое этого диапазона только для чтения в новый массив.Copies the contents of this read-only span into a new array.

ToString() ToString() ToString() ToString()

Возвращает строковое представление объекта ReadOnlySpan<T>.Returns the string representation of this ReadOnlySpan<T>.

TryCopyTo(Span<T>) TryCopyTo(Span<T>) TryCopyTo(Span<T>) TryCopyTo(Span<T>)

Пытается копировать содержимое этого объекта ReadOnlySpan<T> в Span<T> и возвращает значение, указывающее, была ли выполнена операция.Attempts to copy the contents of this ReadOnlySpan<T> into a Span<T> and returns a value to indicate whether or not the operation succeeded.

Операторы

Equality(ReadOnlySpan<T>, ReadOnlySpan<T>) Equality(ReadOnlySpan<T>, ReadOnlySpan<T>) Equality(ReadOnlySpan<T>, ReadOnlySpan<T>) Equality(ReadOnlySpan<T>, ReadOnlySpan<T>)

Возвращает значение, указывающее, равны ли два экземпляра ReadOnlySpan<T>.Returns a value that indicates whether two ReadOnlySpan<T> instances are equal.

Implicit(ArraySegment<T> to ReadOnlySpan<T>) Implicit(ArraySegment<T> to ReadOnlySpan<T>) Implicit(ArraySegment<T> to ReadOnlySpan<T>) Implicit(ArraySegment<T> to ReadOnlySpan<T>)

Определяет неявное преобразование ArraySegment<T> в ReadOnlySpan<T>.Defines an implicit conversion of an ArraySegment<T> to a ReadOnlySpan<T>.

Implicit(T[] to ReadOnlySpan<T>) Implicit(T[] to ReadOnlySpan<T>) Implicit(T[] to ReadOnlySpan<T>) Implicit(T[] to ReadOnlySpan<T>)

Определяет неявное преобразование массива в ReadOnlySpan<T>.Defines an implicit conversion of an array to a ReadOnlySpan<T>.

Inequality(ReadOnlySpan<T>, ReadOnlySpan<T>) Inequality(ReadOnlySpan<T>, ReadOnlySpan<T>) Inequality(ReadOnlySpan<T>, ReadOnlySpan<T>) Inequality(ReadOnlySpan<T>, ReadOnlySpan<T>)

Возвращает значение, указывающее, равны ли два экземпляра ReadOnlySpan<T>.Returns a value that indicates whether two ReadOnlySpan<T> instances are not equal.

Методы расширения

BinarySearch<T>(ReadOnlySpan<T>, IComparable<T>) BinarySearch<T>(ReadOnlySpan<T>, IComparable<T>) BinarySearch<T>(ReadOnlySpan<T>, IComparable<T>) BinarySearch<T>(ReadOnlySpan<T>, IComparable<T>)

Выполняет поиск значения во всем отсортированном массиве ReadOnlySpan<T>, используя заданный универсальный интерфейс IComparable<T>.Searches an entire sorted ReadOnlySpan<T> for a value using the specified IComparable<T> generic interface.

BinarySearch<T,TComparer>(ReadOnlySpan<T>, T, TComparer) BinarySearch<T,TComparer>(ReadOnlySpan<T>, T, TComparer) BinarySearch<T,TComparer>(ReadOnlySpan<T>, T, TComparer) BinarySearch<T,TComparer>(ReadOnlySpan<T>, T, TComparer)

Выполняет поиск указанного значения во всем отсортированном массиве ReadOnlySpan<T>, используя заданный универсальный тип TComparer.Searches an entire sorted ReadOnlySpan<T> for a specified value using the specified TComparer generic type.

BinarySearch<T,TComparable>(ReadOnlySpan<T>, TComparable) BinarySearch<T,TComparable>(ReadOnlySpan<T>, TComparable) BinarySearch<T,TComparable>(ReadOnlySpan<T>, TComparable) BinarySearch<T,TComparable>(ReadOnlySpan<T>, TComparable)

Выполняет поиск значения во всем отсортированном массиве ReadOnlySpan<T>, используя заданный универсальный тип TComparable.Searches an entire sorted ReadOnlySpan<T> for a value using the specified TComparable generic type.

Contains<T>(ReadOnlySpan<T>, T) Contains<T>(ReadOnlySpan<T>, T) Contains<T>(ReadOnlySpan<T>, T) Contains<T>(ReadOnlySpan<T>, T)

Указывает, найдено ли указанное значение в диапазоне, доступном только для чтения.Indicates whether a specified value is found in a read-only span. Значения сравниваются с помощью IEquatable {T}.Equals (T).Values are compared using IEquatable{T}.Equals(T).

EndsWith<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) EndsWith<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) EndsWith<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) EndsWith<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Определяет, отображается ли указанная последовательность в конце диапазона, доступного только для чтения.Determines whether the specified sequence appears at the end of a read-only span.

IndexOf<T>(ReadOnlySpan<T>, T) IndexOf<T>(ReadOnlySpan<T>, T) IndexOf<T>(ReadOnlySpan<T>, T) IndexOf<T>(ReadOnlySpan<T>, T)

Выполняет поиск указанного значения и возвращает индекс его первого вхождения.Searches for the specified value and returns the index of its first occurrence. Значения сравниваются с помощью IEquatable {T}.Equals (T).Values are compared using IEquatable{T}.Equals(T).

IndexOf<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) IndexOf<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) IndexOf<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) IndexOf<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Выполняет поиск указанной последовательности и возвращает индекс ее первого вхождения.Searches for the specified sequence and returns the index of its first occurrence. Значения сравниваются с помощью IEquatable {T}.Equals (T).Values are compared using IEquatable{T}.Equals(T).

IndexOfAny<T>(ReadOnlySpan<T>, T, T) IndexOfAny<T>(ReadOnlySpan<T>, T, T) IndexOfAny<T>(ReadOnlySpan<T>, T, T) IndexOfAny<T>(ReadOnlySpan<T>, T, T)

Выполняет поиск первого индекса любого из указанных значений аналогичного вызову IndexOf несколько раз с помощью логического оператора ИЛИ.Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator.

IndexOfAny<T>(ReadOnlySpan<T>, T, T, T) IndexOfAny<T>(ReadOnlySpan<T>, T, T, T) IndexOfAny<T>(ReadOnlySpan<T>, T, T, T) IndexOfAny<T>(ReadOnlySpan<T>, T, T, T)

Выполняет поиск первого индекса любого из указанных значений аналогичного вызову IndexOf несколько раз с помощью логического оператора ИЛИ.Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator.

IndexOfAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) IndexOfAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) IndexOfAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) IndexOfAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Выполняет поиск первого индекса любого из указанных значений аналогичного вызову IndexOf несколько раз с помощью логического оператора ИЛИ.Searches for the first index of any of the specified values similar to calling IndexOf several times with the logical OR operator.

LastIndexOf<T>(ReadOnlySpan<T>, T) LastIndexOf<T>(ReadOnlySpan<T>, T) LastIndexOf<T>(ReadOnlySpan<T>, T) LastIndexOf<T>(ReadOnlySpan<T>, T)

Выполняет поиск указанного значения и возвращает индекс его последнего вхождения.Searches for the specified value and returns the index of its last occurrence. Значения сравниваются с помощью IEquatable {T}.Equals (T).Values are compared using IEquatable{T}.Equals(T).

LastIndexOf<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) LastIndexOf<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) LastIndexOf<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) LastIndexOf<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Выполняет поиск указанной последовательности и возвращает индекс ее последнего вхождения.Searches for the specified sequence and returns the index of its last occurrence. Значения сравниваются с помощью IEquatable {T}.Equals (T).Values are compared using IEquatable{T}.Equals(T).

LastIndexOfAny<T>(ReadOnlySpan<T>, T, T) LastIndexOfAny<T>(ReadOnlySpan<T>, T, T) LastIndexOfAny<T>(ReadOnlySpan<T>, T, T) LastIndexOfAny<T>(ReadOnlySpan<T>, T, T)

Выполняет поиск последнего индекса любого из указанных значений аналогичного вызову LastIndexOf несколько раз с помощью логического оператора ИЛИ.Searches for the last index of any of the specified values similar to calling LastIndexOf several times with the logical OR operator.

LastIndexOfAny<T>(ReadOnlySpan<T>, T, T, T) LastIndexOfAny<T>(ReadOnlySpan<T>, T, T, T) LastIndexOfAny<T>(ReadOnlySpan<T>, T, T, T) LastIndexOfAny<T>(ReadOnlySpan<T>, T, T, T)

Выполняет поиск последнего индекса любого из указанных значений аналогичного вызову LastIndexOf несколько раз с помощью логического оператора ИЛИ.Searches for the last index of any of the specified values similar to calling LastIndexOf several times with the logical OR operator.

LastIndexOfAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) LastIndexOfAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) LastIndexOfAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) LastIndexOfAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Выполняет поиск последнего индекса любого из указанных значений аналогичного вызову LastIndexOf несколько раз с помощью логического оператора ИЛИ.Searches for the last index of any of the specified values similar to calling LastIndexOf several times with the logical OR operator.

Overlaps<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) Overlaps<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) Overlaps<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) Overlaps<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Определяет, перекрываются ли две последовательности только для чтения в памяти.Determines whether two read-only sequences overlap in memory.

Overlaps<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, Int32) Overlaps<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, Int32) Overlaps<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, Int32) Overlaps<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, Int32)

Определяет, перекрываются ли две последовательности только для чтения в памяти, и выводит смещение элементов.Determines whether two read-only sequences overlap in memory and outputs the element offset.

SequenceCompareTo<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) SequenceCompareTo<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) SequenceCompareTo<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) SequenceCompareTo<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Определяет относительный порядок двух последовательностей только для чтения путем сравнения их элементов с помощью IComparable{T}.CompareTo (T).Determines the relative order of two read-only sequences by comparing their elements using IComparable{T}.CompareTo(T).

SequenceEqual<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) SequenceEqual<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) SequenceEqual<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) SequenceEqual<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Определяет, равны ли две последовательности только для чтения, сравнивая элементы с помощью IEquatable{T}.Equals (T).Determines whether two read-only sequences are equal by comparing the elements using IEquatable{T}.Equals(T).

StartsWith<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) StartsWith<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) StartsWith<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) StartsWith<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Определяет, отображается ли указанная последовательность в начале диапазона, доступного только для чтения.Determines whether a specified sequence appears at the start of a read-only span.

Trim<T>(ReadOnlySpan<T>, T) Trim<T>(ReadOnlySpan<T>, T) Trim<T>(ReadOnlySpan<T>, T) Trim<T>(ReadOnlySpan<T>, T)

Удаляет все начальные и конечные вхождения указанного элемента из диапазона только для чтения.Removes all leading and trailing occurrences of a specified element from a read-only span.

Trim<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) Trim<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) Trim<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) Trim<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Удаляет все начальные и конечные вхождения набора элементов, указанного в диапазоне только для чтения, из диапазона только для чтения.Removes all leading and trailing occurrences of a set of elements specified in a read-only span from a read-only span.

TrimEnd<T>(ReadOnlySpan<T>, T) TrimEnd<T>(ReadOnlySpan<T>, T) TrimEnd<T>(ReadOnlySpan<T>, T) TrimEnd<T>(ReadOnlySpan<T>, T)

Удаляет все конечные вхождения указанного элемента из диапазона только для чтения.Removes all trailing occurrences of a specified element from a read-only span.

TrimEnd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) TrimEnd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) TrimEnd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) TrimEnd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Удаляет все конечные вхождения набора элементов, указанного в диапазоне только для чтения, из диапазона только для чтения.Removes all trailing occurrences of a set of elements specified in a read-only span from a read-only span.

TrimStart<T>(ReadOnlySpan<T>, T) TrimStart<T>(ReadOnlySpan<T>, T) TrimStart<T>(ReadOnlySpan<T>, T) TrimStart<T>(ReadOnlySpan<T>, T)

Удаляет все начальные вхождения указанного элемента из диапазона.Removes all leading occurrences of a specified element from the span.

TrimStart<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) TrimStart<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) TrimStart<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) TrimStart<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Удаляет все начальные вхождения набора элементов, указанного в диапазоне только для чтения, из диапазона.Removes all leading occurrences of a set of elements specified in a read-only span from the span.

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