Поделиться через


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

Определение

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

generic <typename T>
public value class Span
public readonly ref struct Span<T>
[System.Runtime.InteropServices.Marshalling.NativeMarshalling(typeof(System.Runtime.InteropServices.Marshalling.SpanMarshaller<,>))]
public readonly ref struct Span<T>
type Span<'T> = struct
[<System.Runtime.InteropServices.Marshalling.NativeMarshalling(typeof(System.Runtime.InteropServices.Marshalling.SpanMarshaller<,>))>]
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[])

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

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

Создает новый объект 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)

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

Slice(Int32, 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> неравными.

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

ToImmutableArray<T>(Span<T>)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ищет любое значение, отличное от указанного value.

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

Ищет любое значение, отличное от value0 или value1.

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

Ищет любое значение, отличное от value0, value1или value2.

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

Ищет любое значение, отличное от указанного values.

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

Ищет любое значение, отличное от указанного values.

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

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

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

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

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

Подсчитывает количество указанных событий value в объекте span.

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

Подсчитывает количество указанных событий value в объекте span.

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

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

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

Выполняет поиск указанного значения и возвращает индекс его первого вхождения. Значения сравниваются с помощью IEquatable {T}.Equals (T).

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

Выполняет поиск указанной последовательности и возвращает индекс ее первого вхождения. Значения сравниваются с помощью IEquatable {T}.Equals (T).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Выполняет поиск указанного значения и возвращает индекс его последнего вхождения. Значения сравниваются с помощью IEquatable {T}.Equals (T).

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

Выполняет поиск указанной последовательности и возвращает индекс ее последнего вхождения. Значения сравниваются с помощью IEquatable {T}.Equals (T).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заменяет все вхождения oldValue на newValue.

Reverse<T>(Span<T>)

Изменяет порядок элементов во всем массиве на обратный.

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

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

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

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

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

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

Sort<T>(Span<T>)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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