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, которое будет отображаться в позиции измерения. |