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

Определение

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

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

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

T

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

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

Комментарии

Дополнительные сведения об этом API см. в дополнительных примечаниях API для Span<T>.

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

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

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

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

Создает новый Span<T> объект, содержащий указанное количество элементов массива, начиная с указанного индекса.

Span<T>(T[])

Создает новый Span<T> объект на протяжении всего указанного массива.

Span<T>(Void*, Int32)

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

Свойства

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

Возвращает пустой Span<T> объект.

IsEmpty

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

Item[Int32]

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

Length

Возвращает длину текущего диапазона.

Методы

Имя Описание
Clear()

Очищает содержимое этого Span<T> объекта.

CopyTo(Span<T>)

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

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

Вызовы этого метода не поддерживаются.

Fill(T)

Заполняет элементы этого диапазона указанным значением.

GetEnumerator()

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

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

Формирует исключение NotSupportedException.

GetPinnableReference()

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

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

Slice(Int32, Int32)

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

Slice(Int32)

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

ToArray()

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

ToString()

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

TryCopyTo(Span<T>)

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

Операторы

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

Возвращает значение, указывающее, равны ли два Span<T> объекта.

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

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

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

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

Implicit(T[] to Span<T>)

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

Inequality(Span<T>, Span<T>)

Возвращает значение, указывающее, равны ли два Span<T> объекта.

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

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

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

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

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

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

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

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

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

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

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

Contains<T>(Span<T>, T)

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

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

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

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

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

ContainsAny<T>(Span<T>, T, T, T)

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

ContainsAny<T>(Span<T>, T, T)

Выполняет поиск экземпляра value0 или value1возвращается true при обнаружении. Если не найдено, возвращается false.

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

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

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

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

ContainsAnyExcept<T>(Span<T>, T, T, T)

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

ContainsAnyExcept<T>(Span<T>, T, T)

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

ContainsAnyExcept<T>(Span<T>, T)

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

ContainsAnyExceptInRange<T>(Span<T>, T, T)

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

ContainsAnyInRange<T>(Span<T>, T, T)

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

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

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

Count<T>(Span<T>, T)

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

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

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

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

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

IndexOf<T>(Span<T>, T)

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

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

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

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

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

IndexOfAny<T>(Span<T>, T, T, T)

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

IndexOfAny<T>(Span<T>, T, T)

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

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

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

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

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

IndexOfAnyExcept<T>(Span<T>, T, T, T)

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

IndexOfAnyExcept<T>(Span<T>, T, T)

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

IndexOfAnyExcept<T>(Span<T>, T)

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

IndexOfAnyExceptInRange<T>(Span<T>, T, T)

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

IndexOfAnyInRange<T>(Span<T>, T, T)

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

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

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

LastIndexOf<T>(Span<T>, T)

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

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

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

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

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

LastIndexOfAny<T>(Span<T>, T, T, T)

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

LastIndexOfAny<T>(Span<T>, T, T)

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

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

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

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

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

LastIndexOfAnyExcept<T>(Span<T>, T, T, T)

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

LastIndexOfAnyExcept<T>(Span<T>, T, T)

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

LastIndexOfAnyExcept<T>(Span<T>, T)

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

LastIndexOfAnyExceptInRange<T>(Span<T>, T, T)

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

LastIndexOfAnyInRange<T>(Span<T>, T, T)

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

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

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

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

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

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

Заменяет все случаи oldValue на newValue.

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

Заменяет все случаи oldValue на newValue.

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

Заменяет все span вхождения любого из элементов в valuesnewValue.

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

Заменяет все span элементы, отличные от тех, в которых они есть values, newValueна .

Reverse<T>(Span<T>)

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

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

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

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

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

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

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

Sort<T,TComparer>(Span<T>, TComparer)

Сортирует элементы в целом Span<T> с помощью TComparer.

Sort<T>(Span<T>, Comparison<T>)

Сортирует элементы в целом Span<T> с помощью указанного Comparison<T>.

Sort<T>(Span<T>)

Сортирует элементы в целом Span<T> с помощью IComparable<T> реализации каждого элемента элемента Span<T>.

Sort<TKey,TValue,TComparer>(Span<TKey>, Span<TValue>, TComparer)

Сортирует пару диапазонов (один из них содержит ключи и другой, содержащий соответствующие элементы) на основе ключей в первом Span<T> с помощью указанного сравнения.

Sort<TKey,TValue>(Span<TKey>, Span<TValue>, Comparison<TKey>)

Сортирует пару диапазонов (один из них содержит ключи и другой, содержащий соответствующие элементы) на основе ключей в первом Span<T> случае с помощью указанного сравнения.

Sort<TKey,TValue>(Span<TKey>, Span<TValue>)

Сортирует пару диапазонов (один из которых содержит ключи и другой, содержащий соответствующие элементы), на основе ключей в первом Span<T> случае с использованием IComparable<T> реализации каждого ключа.

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

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

ToImmutableArray<T>(Span<T>)

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

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

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

Trim<T>(Span<T>, T)

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

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

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

TrimEnd<T>(Span<T>, T)

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

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

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

TrimStart<T>(Span<T>, T)

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

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

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