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

Определение

Предоставляет типобезопасное и безопасное для чтения представление непрерывной области произвольной памяти.

generic <typename T>
public value class ReadOnlySpan
[System.Runtime.InteropServices.Marshalling.NativeMarshalling(typeof(System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller<,>))]
public readonly ref struct ReadOnlySpan<T>
public readonly ref struct ReadOnlySpan<T>
[<System.Runtime.InteropServices.Marshalling.NativeMarshalling(typeof(System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller<,>))>]
type ReadOnlySpan<'T> = struct
type ReadOnlySpan<'T> = struct
Public Structure ReadOnlySpan(Of T)

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

T

Тип элементов в элементе ReadOnlySpan<T>.

Наследование
ReadOnlySpan<T>
Атрибуты

Комментарии

ReadOnlySpan<T> — это структура ссылок , выделенная в стеке, и никогда не может выйти из управляемой кучы. Типы структур ссылок имеют ряд ограничений, чтобы гарантировать, что они не могут быть повышены до управляемой кучи, в том числе они не могут быть записаны в лямбда-выражениях, назначенных переменным типа Object, назначенным dynamic переменным, и они не могут реализовать любой тип интерфейса.

Экземпляр ReadOnlySpan<T> часто используется для ссылки на элементы массива или часть массива. В отличие от массива, ReadOnlySpan<T> экземпляр может указывать на управляемую память, собственную память или память, управляемую в стеке.

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

Имя Описание
ReadOnlySpan<T>(T)

Создает новую ReadOnlySpan<T> длину 1 вокруг указанной ссылки.

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

Создает новое ReadOnlySpan<T> , включающее указанное число элементов массива, начиная с указанного индекса.

ReadOnlySpan<T>(T[])

Создает новый ReadOnlySpan<T> объект по всему массиву.

ReadOnlySpan<T>(Void*, Int32)

Создает новое ReadOnlySpan<T> из указанного числа элементов, начиная с указанного T адреса памяти.

Свойства

Имя Описание
Empty

Возвращает пустое ReadOnlySpan<T>.

IsEmpty

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

Item[Int32]

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

Length

Количество элементов в диапазоне только для чтения.

Методы

Имя Описание
CastUp<TDerived>(ReadOnlySpan<TDerived>)

Приводит диапазон только для чтения к диапазону TDerivedTтолько для чтения.

CopyTo(Span<T>)

Копирует содержимое этого ReadOnlySpan<T> объекта в место назначения Span<T>.

Equals(Object)
Устаревшие..
Устаревшие..

Не поддерживается. Формирует исключение NotSupportedException.

GetEnumerator()

Возвращает перечислитель для этого ReadOnlySpan<T>.

GetHashCode()
Устаревшие..

Не поддерживается. Формирует исключение NotSupportedException.

GetPinnableReference()

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

Этот метод предназначен для поддержки .NET компиляторов и не предназначен для вызова пользовательским кодом.

Slice(Int32, Int32)

Формирует срез из текущего диапазона только для чтения, начиная с указанного индекса для указанной длины.

Slice(Int32)

Формирует срез из текущего диапазона только для чтения, который начинается с указанного индекса.

ToArray()

Копирует содержимое этого диапазона только для чтения в новый массив.

ToString()

Возвращает строковое представление этого ReadOnlySpan<T>объекта.

TryCopyTo(Span<T>)

Пытается скопировать содержимое этого ReadOnlySpan<T> объекта в объект Span<T> и возвращает значение, указывающее, выполнена ли операция успешно.

Операторы

Имя Описание
Equality(ReadOnlySpan<T>, ReadOnlySpan<T>)

Возвращает значение, указывающее, равны ли два ReadOnlySpan<T> экземпляра.

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

Определяет неявное преобразование объекта ArraySegment<T> в объект ReadOnlySpan<T>.

Implicit(T[] to ReadOnlySpan<T>)

Определяет неявное преобразование массива в .ReadOnlySpan<T>

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

Возвращает значение, указывающее, равны ли два ReadOnlySpan<T> экземпляра.

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

Имя Описание
BinarySearch<T,TComparable>(ReadOnlySpan<T>, TComparable)

Выполняет поиск всего отсортированного ReadOnlySpan<T> значения с помощью указанного TComparable универсального типа.

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

Выполняет поиск всего отсортированного ReadOnlySpan<T> значения с использованием указанного TComparer универсального типа.

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

Выполняет поиск всего отсортированного ReadOnlySpan<T> значения с помощью указанного IComparable<T> универсального интерфейса.

CommonPrefixLength<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

Определяет длину общего префикса между span и other.

CommonPrefixLength<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Находит длину общего префикса между span и other.

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

Выполняет поиск указанного значения и возвращается true , если найдено. Если не найдено, возвращается false.

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

Указывает, найдено ли указанное значение в диапазоне только для чтения.

ContainsAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

Выполняет поиск любого вхождения любого из указанных values и возвращается true при обнаружении. Если не найдено, возвращается false.

ContainsAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Выполняет поиск вхождения любого из указанных.values

ContainsAny<T>(ReadOnlySpan<T>, SearchValues<T>)

Выполняет поиск вхождения любого из указанных.values

ContainsAny<T>(ReadOnlySpan<T>, T, T, IEqualityComparer<T>)

Выполняет поиск любого из указанных значений.

ContainsAny<T>(ReadOnlySpan<T>, T, T, T, IEqualityComparer<T>)

Ищет любое вхождение указанных значений в указанном диапазоне.

ContainsAny<T>(ReadOnlySpan<T>, T, T, T)

Выполняет поиск экземпляра value0, value1или value2 в указанном диапазоне.

ContainsAny<T>(ReadOnlySpan<T>, T, T)

Выполняет поиск вхождения value0 или value1.

ContainsAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

Выполняет поиск указанного диапазона для любого значения, отличного от указанного valuesзначения.

ContainsAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Выполняет поиск указанного диапазона для любого значения, отличного от указанного valuesзначения.

ContainsAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>)

Выполняет поиск указанного диапазона для любого значения, отличного от указанного valuesзначения.

ContainsAnyExcept<T>(ReadOnlySpan<T>, T, IEqualityComparer<T>)

Выполняет поиск указанного диапазона для любого значения, отличного от valueзначения.

ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T, IEqualityComparer<T>)

Выполняет поиск любого значения, отличного от value0 или value1.

ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T, T, IEqualityComparer<T>)

Выполняет поиск любого значения, отличного от value0значения , value1или value2.

ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T, T)

Выполняет поиск любого значения, отличного от value0значения , value1или value2.

ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T)

Выполняет поиск указанного диапазона для любого значения, отличного от value0 или value1.

ContainsAnyExcept<T>(ReadOnlySpan<T>, T)

Выполняет поиск указанного диапазона для любого значения, отличного от указанного valueзначения.

ContainsAnyExceptInRange<T>(ReadOnlySpan<T>, T, T)

Выполняет поиск любого значения за пределами диапазона между lowInclusive и highInclusiveвключительно.

ContainsAnyInRange<T>(ReadOnlySpan<T>, T, T)

Выполняет поиск любого значения в диапазоне между lowInclusive и highInclusiveвключительно.

Count<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

Подсчитывает количество указанных value в параметре span.

Count<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Подсчитывает количество случаевvalue.span

Count<T>(ReadOnlySpan<T>, T, IEqualityComparer<T>)

Подсчитывает количество указанных value в параметре span.

Count<T>(ReadOnlySpan<T>, T)

Подсчитывает количество указанных value в параметре span.

CountAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

Подсчитывает количество случаев, когда любой из указанных values объектов происходит в span.

CountAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Подсчитывает количество случаев, когда любой из указанных values объектов происходит в span.

CountAny<T>(ReadOnlySpan<T>, SearchValues<T>)

Подсчитывает количество случаев, когда любой из указанных values объектов происходит в span.

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

Определяет, отображается ли указанная последовательность в конце диапазона только для чтения.

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

Определяет, отображается ли указанная последовательность в конце диапазона только для чтения.

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

Определяет, отображается ли указанное значение в конце диапазона.

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

Определяет, отображается ли указанное значение в конце диапазона.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

IndexOfAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

Выполняет поиск первого индекса любого значения, отличного от указанного values.

IndexOfAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Выполняет поиск первого индекса любого значения, отличного от указанного values.

IndexOfAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>)

Выполняет поиск первого индекса любого значения, отличного от указанного values.

IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, IEqualityComparer<T>)

Выполняет поиск первого индекса любого значения, отличного от указанного value.

IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, IEqualityComparer<T>)

Выполняет поиск первого индекса любого значения, отличного от двух указанных значений.

IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T, IEqualityComparer<T>)

Выполняет поиск первого индекса любого значения, отличного от value0, value1или value2.

IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T)

Выполняет поиск первого индекса любого значения, отличного от value0, value1или value2.

IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T)

Выполняет поиск первого индекса любого значения, отличного от двух указанных значений.

IndexOfAnyExcept<T>(ReadOnlySpan<T>, T)

Выполняет поиск первого индекса любого значения, отличного от указанного value.

IndexOfAnyExceptInRange<T>(ReadOnlySpan<T>, T, T)

Выполняет поиск первого индекса любого значения вне диапазона между lowInclusive и highInclusiveвключительно.

IndexOfAnyInRange<T>(ReadOnlySpan<T>, T, T)

Выполняет поиск первого индекса любого значения в диапазоне между lowInclusive и highInclusiveвключительно.

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

Выполняет поиск указанной последовательности и возвращает индекс последнего вхождения. Если не найдено, возвращает значение -1.

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

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

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

Выполняет поиск указанного значения и возвращает индекс последнего вхождения. Если не найдено, возвращает значение -1.

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

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

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

Выполняет поиск последнего индекса любого из указанных значений.

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

Выполняет поиск последнего индекса любого из указанных значений.

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

Выполняет поиск последнего индекса любого из указанных значений.

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

Выполняет поиск последнего индекса любого из указанных значений.

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

Выполняет поиск последнего индекса любого из указанных значений.

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

Выполняет поиск последнего индекса любого из указанных значений.

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

Выполняет поиск последнего индекса любого из указанных значений.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>)

Выполняет поиск последнего индекса любого значения, отличного от указанного values.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Выполняет поиск последнего индекса любого значения, отличного от указанного values.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>)

Выполняет поиск последнего индекса любого значения, отличного от указанного values.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, IEqualityComparer<T>)

Выполняет поиск последнего индекса любого значения, отличного от указанного value.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, IEqualityComparer<T>)

Выполняет поиск последнего индекса любого значения, отличного от указанного или value1указанногоvalue0.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T, IEqualityComparer<T>)

Выполняет поиск последнего индекса любого значения, отличного от указанного value0, value1или value2.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T)

Выполняет поиск последнего индекса любого значения, отличного от указанного value0, value1или value2.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T)

Выполняет поиск последнего индекса любого значения, отличного от указанного или value1указанногоvalue0.

LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T)

Выполняет поиск последнего индекса любого значения, отличного от указанного value.

LastIndexOfAnyExceptInRange<T>(ReadOnlySpan<T>, T, T)

Выполняет поиск последнего индекса любого значения за пределами диапазона между lowInclusive и highInclusiveвключительно.

LastIndexOfAnyInRange<T>(ReadOnlySpan<T>, T, T)

Выполняет поиск последнего индекса любого значения в диапазоне между lowInclusive и highInclusiveвключительно.

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

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

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

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

Replace<T>(ReadOnlySpan<T>, Span<T>, T, T, IEqualityComparer<T>)

Копируется sourcedestinationв , заменяя все вхождения oldValuenewValueна .

Replace<T>(ReadOnlySpan<T>, Span<T>, T, T)

Копируется sourcedestinationв , заменяя все вхождения oldValuenewValueна .

ReplaceAny<T>(ReadOnlySpan<T>, Span<T>, SearchValues<T>, T)

Копируется sourcedestinationв , заменяя все вхождения любого из элементов valuesnewValue.

ReplaceAnyExcept<T>(ReadOnlySpan<T>, Span<T>, SearchValues<T>, T)

Копируется sourcedestinationв , заменяя все вхождения любого из элементов, отличных от тех, в которых они есть valuesnewValue.

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

Определяет относительный порядок сравниваемых последовательностей путем сравнения элементов с помощью IComparable{T}. CompareTo(T).

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

Определяет относительный порядок двух последовательностей только для чтения, сравнивая их элементы с помощью IComparable{T}. CompareTo(T).

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

Определяет, равны ли две последовательности, сравнивая элементы с помощью элемента IEqualityComparer<T>.

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

Определяет, равны ли две последовательности только для чтения, сравнивая элементы с помощью IEquatable{T}. Equals(T).

Split<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Возвращает тип, позволяющий перечислить каждый элемент в разделенном диапазоне с помощью предоставленного диапазона разделителя.

Split<T>(ReadOnlySpan<T>, T)

Возвращает тип, позволяющий перечислять каждый элемент в разделенном диапазоне с помощью предоставленного символа разделителя.

SplitAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>)

Возвращает тип, позволяющий перечислить каждый элемент в разделенном диапазоне с помощью любого из предоставленных элементов.

SplitAny<T>(ReadOnlySpan<T>, SearchValues<T>)

Возвращает тип, позволяющий перечислить каждый элемент в разделенном диапазоне с помощью предоставленных символов разделителя.

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

Определяет, отображается ли указанная последовательность в начале диапазона только для чтения.

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

Определяет, отображается ли указанная последовательность в начале диапазона только для чтения.

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

Определяет, отображается ли указанное значение в начале диапазона.

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

Определяет, отображается ли указанное значение в начале диапазона.

ToImmutableArray<T>(ReadOnlySpan<T>)

Создайте неизменяемый массив содержимого из указанных элементов.

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

Удаляет все начальные и конечные вхождения набора элементов, указанных в диапазоне только для чтения, из диапазона только для чтения.

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

Удаляет все начальные и конечные вхождения указанного элемента из диапазона только для чтения.

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

Удаляет все конечные вхождения набора элементов, указанных в диапазоне только для чтения, из диапазона только для чтения.

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

Удаляет все конечные вхождения указанного элемента из диапазона только для чтения.

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

Удаляет все начальные вхождения набора элементов, указанных в диапазоне только для чтения, из диапазона.

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

Удаляет все начальные вхождения указанного элемента из диапазона.

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

См. также раздел