ReadOnlyTensorSpan<T> Структура
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
ReadOnlyTensorSpan представляет собой смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти.
generic <typename T>
public value class ReadOnlyTensorSpan
[System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5001", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public readonly ref struct ReadOnlyTensorSpan<T>
[<System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5001", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type ReadOnlyTensorSpan<'T> = struct
Public Structure ReadOnlyTensorSpan(Of T)
Параметры типа
- T
- Наследование
- Атрибуты
Конструкторы
ReadOnlyTensorSpan<T>(Array) |
Создает новый ReadOnlyTensorSpan<T> над предоставленным Array. Новый ReadOnlyTensorSpan<T> будет иметь ранг 1 и длину, равную длине предоставленного Array. |
ReadOnlyTensorSpan<T>(Array, ReadOnlySpan<Int32>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>) |
Создает новый ReadOnlyTensorSpan<T> над предоставленным Array с помощью указанных смещений, длин и успехов. Если шаги не предоставляются, они будут автоматически вычисляться. |
ReadOnlyTensorSpan<T>(Array, ReadOnlySpan<NIndex>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>) |
Создает новый ReadOnlyTensorSpan<T> над предоставленным Array с помощью указанных смещений, длин и успехов. Если шаги не предоставляются, они будут автоматически вычисляться. |
ReadOnlyTensorSpan<T>(ReadOnlySpan<T>) |
Создает новый ReadOnlyTensorSpan<T> над предоставленным ReadOnlySpan<T>. Новый ReadOnlyTensorSpan<T> будет иметь ранг 1 и длину, равную длине предоставленного ReadOnlySpan<T>. |
ReadOnlyTensorSpan<T>(ReadOnlySpan<T>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>) |
Создает новый ReadOnlyTensorSpan<T> над предоставленным Span<T> с помощью указанных длин и успехов. Если шаги не предоставляются, они будут автоматически вычисляться. |
ReadOnlyTensorSpan<T>(T*, IntPtr) |
Создает новый диапазон по целевому неуправляемого буфера. Очевидно, что это довольно опасно, длина не проверяется. Но если это создание правильно, то все последующие использования правильны. |
ReadOnlyTensorSpan<T>(T*, IntPtr, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>) |
Создает новый диапазон по целевому неуправляемого буфера. Очевидно, что это довольно опасно, потому что длина не проверяется. Но если это создание правильно, то все последующие использования правильны. |
ReadOnlyTensorSpan<T>(T[]) |
Создает новый диапазон по всему целевому массиву. |
ReadOnlyTensorSpan<T>(T[], Index, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>) |
Создает новый диапазон по части целевого массива, начиная с индекса start и заканчивая индексом end (эксклюзивным). |
ReadOnlyTensorSpan<T>(T[], Int32, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>) |
Создает новый диапазон по части целевого массива, начиная с индекса start и заканчивая индексом end (эксклюзивным). |
Свойства
Empty |
Возвращает диапазон только для чтения длиной 0, база которого является пустым указателем. |
FlattenedLength |
Количество элементов в диапазоне. |
IsEmpty |
Возвращает значение, указывающее, является ли этот TensorSpan<T> пустым. |
Item[ReadOnlySpan<IntPtr>] |
Возвращает ссылку на указанный элемент ReadOnlyTensorSpan. |
Item[ReadOnlySpan<NIndex>] |
Возвращает ссылку на указанный элемент ReadOnlyTensorSpan. |
Item[ReadOnlySpan<NRange>] |
Возвращает срез области ReadOnlyTensorSpan. |
Lengths |
Возвращает длину каждого измерения в этом TensorSpan<T>. |
Rank |
Получает ранг, а также количество измерений этого TensorSpan<T>. |
Strides |
Получает шаги этого TensorSpan<T> |
Методы
CastUp<TDerived>(ReadOnlyTensorSpan<TDerived>) |
Приводит диапазон |
CopyTo(TensorSpan<T>) |
Копирует содержимое этого диапазона только для чтения в целевой диапазон. Если источник и назначения перекрываются, этот метод ведет себя так, как если исходные значения во временном расположении перед назначением перезаписываются. |
Equals(Object) |
Устаревшие..
Этот метод не поддерживается, так как диапазоны нельзя упаковать. Чтобы сравнить два диапазона, используйте оператор==. |
FlattenTo(Span<T>) |
Неструктурирует содержимое этого диапазона в предоставленный Span<T>. |
GetEnumerator() |
Возвращает перечислитель для этого диапазона. |
GetHashCode() |
Устаревшие..
Этот метод не поддерживается, так как диапазоны нельзя упаковать. |
GetPinnableReference() |
Возвращает ссылку на 0-й элемент ReadOnlyTensorSpan. Если параметр ReadOnlyTensorSpan пуст, возвращает ссылку NULL. Его можно использовать для закрепления и требуется для поддержки использования диапазона в фиксированной инструкции. |
Slice(ReadOnlySpan<NIndex>) |
Возвращает ссылку на указанный элемент TensorSpan. |
Slice(ReadOnlySpan<NRange>) |
Формирует срез из заданного диапазона |
ToString() |
Возвращает String с именем типа и количеством элементов. |
TryCopyTo(TensorSpan<T>) |
Копирует содержимое этого диапазона только для чтения в целевой диапазон. Если источник и назначения перекрываются, этот метод ведет себя так, как если исходные значения во временном расположении перед назначением перезаписываются. |
TryFlattenTo(Span<T>) |
Неструктурирует содержимое этого диапазона в предоставленный Span<T>. |
Операторы
Equality(ReadOnlyTensorSpan<T>, ReadOnlyTensorSpan<T>) |
Возвращает значение true, если левая и правая точка в той же памяти и имеют ту же длину. Обратите внимание, что это |
Implicit(T[] to ReadOnlyTensorSpan<T>) |
ReadOnlyTensorSpan представляет собой смежный регион произвольной памяти. В отличие от массивов, он может указывать либо на управляемую или собственную память, либо на память, выделенную в стеке. Он является типобезопасной и безопасной для памяти. |
Inequality(ReadOnlyTensorSpan<T>, ReadOnlyTensorSpan<T>) |
Возвращает значение false, если левая и правая точка в той же памяти и имеют ту же длину. Обратите внимание, что это |
Методы расширения
BroadcastTo<T>(ReadOnlyTensorSpan<T>, TensorSpan<T>) |
Передача данных из |
Reshape<T>(ReadOnlyTensorSpan<T>, ReadOnlySpan<IntPtr>) |
Изменяет |
SequenceEqual<T>(ReadOnlyTensorSpan<T>, ReadOnlyTensorSpan<T>) |
Определяет, равны ли две последовательности, сравнивая элементы с помощью IEquatable{T}. Equals(T). |
Squeeze<T>(ReadOnlyTensorSpan<T>) |
Удаляет все измерения длины из |
SqueezeDimension<T>(ReadOnlyTensorSpan<T>, Int32) |
Удаляет ось длины из |
ToString<T>(ReadOnlyTensorSpan<T>, ReadOnlySpan<IntPtr>) |
Создает String представление ReadOnlyTensorSpan<T>." /> |
TryBroadcastTo<T>(ReadOnlyTensorSpan<T>, TensorSpan<T>) |
Передача данных из |
Unsqueeze<T>(ReadOnlyTensorSpan<T>, Int32) |
Вставьте новое измерение длины 1, которое будет отображаться в позиции измерения. |