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> — это структура ссылок , выделенная в стеке, и никогда не может выйти из управляемой кучы. Типы структур ссылок имеют ряд ограничений, чтобы гарантировать, что они не могут быть повышены до управляемой кучи, в том числе они не могут быть записаны в лямбда-выражениях, назначенных переменным типа 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> из указанного числа элементов, начиная с указанного |
Свойства
| Имя | Описание |
|---|---|
| Empty |
Возвращает пустое ReadOnlySpan<T>. |
| IsEmpty |
Возвращает значение, указывающее, что текущий диапазон только для чтения пуст. |
| Item[Int32] |
Возвращает элемент из диапазона только для чтения по указанному отсчитываемого от нуля индексу. |
| Length |
Количество элементов в диапазоне только для чтения. |
Методы
| Имя | Описание |
|---|---|
| CastUp<TDerived>(ReadOnlySpan<TDerived>) |
Приводит диапазон только для чтения к диапазону |
| 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> значения с помощью указанного |
| BinarySearch<T,TComparer>(ReadOnlySpan<T>, T, TComparer) |
Выполняет поиск всего отсортированного ReadOnlySpan<T> значения с использованием указанного |
| BinarySearch<T>(ReadOnlySpan<T>, IComparable<T>) |
Выполняет поиск всего отсортированного ReadOnlySpan<T> значения с помощью указанного IComparable<T> универсального интерфейса. |
| CommonPrefixLength<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>) |
Определяет длину общего префикса между |
| CommonPrefixLength<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Находит длину общего префикса между |
| Contains<T>(ReadOnlySpan<T>, T, IEqualityComparer<T>) |
Выполняет поиск указанного значения и возвращается |
| Contains<T>(ReadOnlySpan<T>, T) |
Указывает, найдено ли указанное значение в диапазоне только для чтения. |
| ContainsAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>) |
Выполняет поиск любого вхождения любого из указанных |
| ContainsAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Выполняет поиск вхождения любого из указанных. |
| ContainsAny<T>(ReadOnlySpan<T>, SearchValues<T>) |
Выполняет поиск вхождения любого из указанных. |
| ContainsAny<T>(ReadOnlySpan<T>, T, T, IEqualityComparer<T>) |
Выполняет поиск любого из указанных значений. |
| ContainsAny<T>(ReadOnlySpan<T>, T, T, T, IEqualityComparer<T>) |
Ищет любое вхождение указанных значений в указанном диапазоне. |
| ContainsAny<T>(ReadOnlySpan<T>, T, T, T) |
Выполняет поиск экземпляра |
| ContainsAny<T>(ReadOnlySpan<T>, T, T) |
Выполняет поиск вхождения |
| ContainsAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>) |
Выполняет поиск указанного диапазона для любого значения, отличного от указанного |
| ContainsAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Выполняет поиск указанного диапазона для любого значения, отличного от указанного |
| ContainsAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>) |
Выполняет поиск указанного диапазона для любого значения, отличного от указанного |
| ContainsAnyExcept<T>(ReadOnlySpan<T>, T, IEqualityComparer<T>) |
Выполняет поиск указанного диапазона для любого значения, отличного от |
| ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T, IEqualityComparer<T>) |
Выполняет поиск любого значения, отличного от |
| ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T, T, IEqualityComparer<T>) |
Выполняет поиск любого значения, отличного от |
| ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T, T) |
Выполняет поиск любого значения, отличного от |
| ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T) |
Выполняет поиск указанного диапазона для любого значения, отличного от |
| ContainsAnyExcept<T>(ReadOnlySpan<T>, T) |
Выполняет поиск указанного диапазона для любого значения, отличного от указанного |
| ContainsAnyExceptInRange<T>(ReadOnlySpan<T>, T, T) |
Выполняет поиск любого значения за пределами диапазона между |
| ContainsAnyInRange<T>(ReadOnlySpan<T>, T, T) |
Выполняет поиск любого значения в диапазоне между |
| Count<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>) |
Подсчитывает количество указанных |
| Count<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Подсчитывает количество случаев |
| Count<T>(ReadOnlySpan<T>, T, IEqualityComparer<T>) |
Подсчитывает количество указанных |
| Count<T>(ReadOnlySpan<T>, T) |
Подсчитывает количество указанных |
| CountAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>) |
Подсчитывает количество случаев, когда любой из указанных |
| CountAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Подсчитывает количество случаев, когда любой из указанных |
| CountAny<T>(ReadOnlySpan<T>, SearchValues<T>) |
Подсчитывает количество случаев, когда любой из указанных |
| 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>) |
Выполняет поиск первого индекса любого значения, отличного от указанного |
| IndexOfAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Выполняет поиск первого индекса любого значения, отличного от указанного |
| IndexOfAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>) |
Выполняет поиск первого индекса любого значения, отличного от указанного |
| IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, IEqualityComparer<T>) |
Выполняет поиск первого индекса любого значения, отличного от указанного |
| IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, IEqualityComparer<T>) |
Выполняет поиск первого индекса любого значения, отличного от двух указанных значений. |
| IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T, IEqualityComparer<T>) |
Выполняет поиск первого индекса любого значения, отличного от |
| IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T) |
Выполняет поиск первого индекса любого значения, отличного от |
| IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T) |
Выполняет поиск первого индекса любого значения, отличного от двух указанных значений. |
| IndexOfAnyExcept<T>(ReadOnlySpan<T>, T) |
Выполняет поиск первого индекса любого значения, отличного от указанного |
| IndexOfAnyExceptInRange<T>(ReadOnlySpan<T>, T, T) |
Выполняет поиск первого индекса любого значения вне диапазона между |
| IndexOfAnyInRange<T>(ReadOnlySpan<T>, T, T) |
Выполняет поиск первого индекса любого значения в диапазоне между |
| 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>) |
Выполняет поиск последнего индекса любого значения, отличного от указанного |
| LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Выполняет поиск последнего индекса любого значения, отличного от указанного |
| LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>) |
Выполняет поиск последнего индекса любого значения, отличного от указанного |
| LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, IEqualityComparer<T>) |
Выполняет поиск последнего индекса любого значения, отличного от указанного |
| LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, IEqualityComparer<T>) |
Выполняет поиск последнего индекса любого значения, отличного от указанного или |
| LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T, IEqualityComparer<T>) |
Выполняет поиск последнего индекса любого значения, отличного от указанного |
| LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T) |
Выполняет поиск последнего индекса любого значения, отличного от указанного |
| LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T) |
Выполняет поиск последнего индекса любого значения, отличного от указанного или |
| LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T) |
Выполняет поиск последнего индекса любого значения, отличного от указанного |
| LastIndexOfAnyExceptInRange<T>(ReadOnlySpan<T>, T, T) |
Выполняет поиск последнего индекса любого значения за пределами диапазона между |
| LastIndexOfAnyInRange<T>(ReadOnlySpan<T>, T, T) |
Выполняет поиск последнего индекса любого значения в диапазоне между |
| Overlaps<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, Int32) |
Определяет, перекрываются ли две последовательности только для чтения в памяти и выводит смещение элемента. |
| Overlaps<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Определяет, перекрываются ли две последовательности только для чтения в памяти. |
| Replace<T>(ReadOnlySpan<T>, Span<T>, T, T, IEqualityComparer<T>) |
Копируется |
| Replace<T>(ReadOnlySpan<T>, Span<T>, T, T) |
Копируется |
| ReplaceAny<T>(ReadOnlySpan<T>, Span<T>, SearchValues<T>, T) |
Копируется |
| ReplaceAnyExcept<T>(ReadOnlySpan<T>, Span<T>, SearchValues<T>, T) |
Копируется |
| 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) |
Удаляет все начальные вхождения указанного элемента из диапазона. |