ReadOnlySpan<T> Структура
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет типобезопасную и безопасную для памяти реализацию непрерывной области произвольной памяти только для чтения.
generic <typename T>
public value class ReadOnlySpan
public readonly ref struct ReadOnlySpan<T>
[System.Runtime.InteropServices.Marshalling.NativeMarshalling(typeof(System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller<,>))]
public readonly ref struct ReadOnlySpan<T>
type ReadOnlySpan<'T> = struct
[<System.Runtime.InteropServices.Marshalling.NativeMarshalling(typeof(System.Runtime.InteropServices.Marshalling.ReadOnlySpanMarshaller<,>))>]
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[]) |
Создает новый объект ReadOnlySpan<T> по всему указанному массиву. |
ReadOnlySpan<T>(T[], Int32, Int32) |
Создает новый объект ReadOnlySpan<T>, который включает указанное число элементов массива, начиная с указанного индекса. |
ReadOnlySpan<T>(Void*, Int32) |
Создает объект ReadOnlySpan<T> из указанного числа элементов |
Свойства
Empty |
Возвращает пустой массив ReadOnlySpan<T>. |
IsEmpty |
Возвращает значение, указывающее на то, что текущий диапазон только для чтения пуст. |
Item[Int32] |
Возвращает элемент из диапазона только для чтения по начинающемуся с нуля индексу. |
Length |
Количество элементов в диапазоне только для чтения. |
Методы
CopyTo(Span<T>) |
Копирует содержимое этого объекта ReadOnlySpan<T> в назначение Span<T>. |
Equals(Object) |
Является устаревшей.
Является устаревшей.
Не поддерживается. Создает исключение NotSupportedException. |
GetEnumerator() |
Возвращает перечислитель для коллекции ReadOnlySpan<T>. |
GetHashCode() |
Является устаревшей.
Не поддерживается. Создает исключение NotSupportedException. |
GetPinnableReference() |
Возвращает ссылку только для чтения на объект типа T, который можно использовать для закрепления. Этот метод предназначен для поддержки компиляторов .NET и не предназначен для вызова из пользовательского кода. |
Slice(Int32) |
Формирует срез вне текущего диапазона только для чтения, который начинается с указанного индекса. |
Slice(Int32, 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>. |
Методы расширения
ToImmutableArray<T>(ReadOnlySpan<T>) |
Создание неизменяемого массива содержимого из указанных элементов. |
BinarySearch<T>(ReadOnlySpan<T>, IComparable<T>) |
Выполняет поиск значения во всем отсортированном массиве ReadOnlySpan<T>, используя заданный универсальный интерфейс IComparable<T>. |
BinarySearch<T,TComparer>(ReadOnlySpan<T>, T, TComparer) |
Выполняет поиск указанного значения во всем отсортированном массиве ReadOnlySpan<T>, используя заданный универсальный тип |
BinarySearch<T,TComparable>(ReadOnlySpan<T>, TComparable) |
Выполняет поиск значения во всем отсортированном массиве ReadOnlySpan<T>, используя заданный универсальный тип |
CommonPrefixLength<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Находит длину любого общего префикса, совместно используемого между |
CommonPrefixLength<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>) |
Определяет длину любого общего префикса, совместно используемого между |
Contains<T>(ReadOnlySpan<T>, T) |
Указывает, найдено ли указанное значение в диапазоне, доступном только для чтения. Значения сравниваются с помощью IEquatable {T}.Equals (T). |
ContainsAny<T>(ReadOnlySpan<T>, T, T) |
Выполняет поиск экземпляра |
ContainsAny<T>(ReadOnlySpan<T>, T, T, T) |
Выполняет поиск экземпляра |
ContainsAny<T>(ReadOnlySpan<T>, SearchValues<T>) |
Выполняет поиск экземпляра любого из указанных |
ContainsAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Выполняет поиск экземпляра любого из указанных |
ContainsAnyExcept<T>(ReadOnlySpan<T>, T) |
Ищет любое значение, отличное от указанного |
ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T) |
Ищет любое значение, отличное от |
ContainsAnyExcept<T>(ReadOnlySpan<T>, T, T, T) |
Ищет любое значение, отличное от |
ContainsAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>) |
Ищет любое значение, отличное от указанного |
ContainsAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Ищет любое значение, отличное от указанного |
ContainsAnyExceptInRange<T>(ReadOnlySpan<T>, T, T) |
Выполняет поиск любого значения за пределами диапазона между |
ContainsAnyInRange<T>(ReadOnlySpan<T>, T, T) |
Выполняет поиск любого значения в диапазоне между |
Count<T>(ReadOnlySpan<T>, T) |
Подсчитывает количество указанных событий |
Count<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Подсчитывает количество случаев |
EndsWith<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Определяет, отображается ли указанная последовательность в конце диапазона, доступного только для чтения. |
IndexOf<T>(ReadOnlySpan<T>, T) |
Выполняет поиск указанного значения и возвращает индекс его первого вхождения. Значения сравниваются с помощью IEquatable {T}.Equals (T). |
IndexOf<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Выполняет поиск указанной последовательности и возвращает индекс ее первого вхождения. Значения сравниваются с помощью IEquatable {T}.Equals (T). |
IndexOfAny<T>(ReadOnlySpan<T>, T, T) |
Выполняет поиск первого индекса любого из указанных значений аналогичного вызову IndexOf несколько раз с помощью логического оператора ИЛИ. |
IndexOfAny<T>(ReadOnlySpan<T>, T, T, T) |
Выполняет поиск первого индекса любого из указанных значений аналогичного вызову IndexOf несколько раз с помощью логического оператора ИЛИ. |
IndexOfAny<T>(ReadOnlySpan<T>, SearchValues<T>) |
Выполняет поиск первого индекса любого из указанных значений. |
IndexOfAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Выполняет поиск первого индекса любого из указанных значений аналогичного вызову IndexOf несколько раз с помощью логического оператора ИЛИ. |
IndexOfAnyExcept<T>(ReadOnlySpan<T>, T) |
Ищет первый индекс любого значения, отличного от указанного |
IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T) |
Выполняет поиск первого индекса любого значения, отличного от указанного |
IndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T) |
Выполняет поиск первого индекса любого значения, отличного от указанного |
IndexOfAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>) |
Ищет первый индекс любого значения, отличного от указанного |
IndexOfAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Ищет первый индекс любого значения, отличного от указанного |
IndexOfAnyExceptInRange<T>(ReadOnlySpan<T>, T, T) |
Выполняет поиск первого индекса любого значения за пределами диапазона между |
IndexOfAnyInRange<T>(ReadOnlySpan<T>, T, T) |
Выполняет поиск первого индекса любого значения в диапазоне между |
LastIndexOf<T>(ReadOnlySpan<T>, T) |
Выполняет поиск указанного значения и возвращает индекс его последнего вхождения. Значения сравниваются с помощью IEquatable {T}.Equals (T). |
LastIndexOf<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Выполняет поиск указанной последовательности и возвращает индекс ее последнего вхождения. Значения сравниваются с помощью IEquatable {T}.Equals (T). |
LastIndexOfAny<T>(ReadOnlySpan<T>, T, T) |
Выполняет поиск последнего индекса любого из указанных значений аналогичного вызову LastIndexOf несколько раз с помощью логического оператора ИЛИ. |
LastIndexOfAny<T>(ReadOnlySpan<T>, T, T, T) |
Выполняет поиск последнего индекса любого из указанных значений аналогичного вызову LastIndexOf несколько раз с помощью логического оператора ИЛИ. |
LastIndexOfAny<T>(ReadOnlySpan<T>, SearchValues<T>) |
Выполняет поиск последнего индекса любого из указанных значений. |
LastIndexOfAny<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Выполняет поиск последнего индекса любого из указанных значений аналогичного вызову LastIndexOf несколько раз с помощью логического оператора ИЛИ. |
LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T) |
Выполняет поиск последнего индекса любого значения, отличного от указанного |
LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T) |
Выполняет поиск последнего индекса любого значения, отличного от указанного |
LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, T, T, T) |
Выполняет поиск последнего индекса любого значения, кроме указанного |
LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, SearchValues<T>) |
Выполняет поиск последнего индекса любого значения, отличного от указанного |
LastIndexOfAnyExcept<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Выполняет поиск последнего индекса любого значения, отличного от указанного |
LastIndexOfAnyExceptInRange<T>(ReadOnlySpan<T>, T, T) |
Выполняет поиск последнего индекса любого значения за пределами диапазона между |
LastIndexOfAnyInRange<T>(ReadOnlySpan<T>, T, T) |
Выполняет поиск последнего индекса любого значения в диапазоне между |
Overlaps<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Определяет, перекрываются ли две последовательности только для чтения в памяти. |
Overlaps<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, Int32) |
Определяет, перекрываются ли две последовательности только для чтения в памяти, и выводит смещение элементов. |
Replace<T>(ReadOnlySpan<T>, Span<T>, T, T) |
Копирует |
SequenceCompareTo<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Определяет относительный порядок двух последовательностей только для чтения путем сравнения их элементов с помощью IComparable{T}.CompareTo (T). |
SequenceEqual<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Определяет, равны ли две последовательности только для чтения, сравнивая элементы с помощью IEquatable{T}.Equals (T). |
SequenceEqual<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, IEqualityComparer<T>) |
Определяет, равны ли две последовательности, сравнивая элементы с помощью IEqualityComparer<T>. |
StartsWith<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Определяет, отображается ли указанная последовательность в начале диапазона, доступного только для чтения. |
Trim<T>(ReadOnlySpan<T>, T) |
Удаляет все начальные и конечные вхождения указанного элемента из диапазона только для чтения. |
Trim<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Удаляет все начальные и конечные вхождения набора элементов, указанного в диапазоне только для чтения, из диапазона только для чтения. |
TrimEnd<T>(ReadOnlySpan<T>, T) |
Удаляет все конечные вхождения указанного элемента из диапазона только для чтения. |
TrimEnd<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Удаляет все конечные вхождения набора элементов, указанного в диапазоне только для чтения, из диапазона только для чтения. |
TrimStart<T>(ReadOnlySpan<T>, T) |
Удаляет все начальные вхождения указанного элемента из диапазона. |
TrimStart<T>(ReadOnlySpan<T>, ReadOnlySpan<T>) |
Удаляет все начальные вхождения набора элементов, указанного в диапазоне только для чтения, из диапазона. |
Применяется к
См. также раздел
Обратная связь
Отправить и просмотреть отзыв по