Sdílet prostřednictvím


ReadOnlyTensorSpan<T> Struktura

Definice

ReadOnlyTensorSpan představuje souvislou oblast libovolné paměti. Na rozdíl od polí může odkazovat na spravovanou nebo nativní paměť nebo na paměť přidělenou v zásobníku. Jedná se o typově bezpečné a bezpečné pro paměť.

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)

Parametry typu

T
Dědičnost
ReadOnlyTensorSpan<T>
Atributy

Konstruktory

ReadOnlyTensorSpan<T>(Array)

Vytvoří nový ReadOnlyTensorSpan<T> nad zadaným Array. Nová ReadOnlyTensorSpan<T> bude mít pořadí 1 a délku rovnající se délce poskytnuté Array.

ReadOnlyTensorSpan<T>(Array, ReadOnlySpan<Int32>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Vytvoří nový ReadOnlyTensorSpan<T> nad zadanými Array pomocí zadaných počátečních posunů, délek a kroků. Pokud nejsou zadané kroky, automaticky se vypočítají.

ReadOnlyTensorSpan<T>(Array, ReadOnlySpan<NIndex>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Vytvoří nový ReadOnlyTensorSpan<T> nad zadanými Array pomocí zadaných počátečních posunů, délek a kroků. Pokud nejsou zadané kroky, automaticky se vypočítají.

ReadOnlyTensorSpan<T>(ReadOnlySpan<T>)

Vytvoří nový ReadOnlyTensorSpan<T> nad zadaným ReadOnlySpan<T>. Nová ReadOnlyTensorSpan<T> bude mít pořadí 1 a délku rovnající se délce poskytnuté ReadOnlySpan<T>.

ReadOnlyTensorSpan<T>(ReadOnlySpan<T>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Vytvoří nový ReadOnlyTensorSpan<T> nad zadanými Span<T> pomocí zadaných délek a kroků. Pokud nejsou zadané kroky, automaticky se vypočítají.

ReadOnlyTensorSpan<T>(T*, IntPtr)

Vytvoří nové rozpětí nad cílovou nespravovanou vyrovnávací pamětí. Je zřejmé, že je to docela nebezpečné, délka není kontrolována. Pokud je ale toto vytvoření správné, pak jsou všechna následná použití správná.

ReadOnlyTensorSpan<T>(T*, IntPtr, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Vytvoří nové rozpětí nad cílovou nespravovanou vyrovnávací pamětí. Je zřejmé, že je to docela nebezpečné, protože délka není kontrolována. Pokud je ale toto vytvoření správné, pak jsou všechna následná použití správná.

ReadOnlyTensorSpan<T>(T[])

Vytvoří nové rozpětí nad celou cílovou maticí.

ReadOnlyTensorSpan<T>(T[], Index, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Vytvoří nové rozpětí části cílového pole začínající na indexu start a končící na "end" index (výhradní).

ReadOnlyTensorSpan<T>(T[], Int32, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

Vytvoří nové rozpětí části cílového pole začínající na indexu start a končící na "end" index (výhradní).

Vlastnosti

Empty

Vrátí rozsah jen pro čtení o délce 0, jehož základem je ukazatel null.

FlattenedLength

Počet položek v rozsahu

IsEmpty

Získá hodnotu označující, zda je tato TensorSpan<T> prázdná.

Item[ReadOnlySpan<IntPtr>]

Vrátí odkaz na zadaný prvek ReadOnlyTensorSpan.

Item[ReadOnlySpan<NIndex>]

Vrátí odkaz na zadaný prvek ReadOnlyTensorSpan.

Item[ReadOnlySpan<NRange>]

Vrátí řez readOnlyTensorSpan.

Lengths

Získá délku každé dimenze v tomto TensorSpan<T>.

Rank

Získá pořadí, neboli počet dimenzí, tohoto TensorSpan<T>.

Strides

Získá kroky tohoto TensorSpan<T>

Metody

CastUp<TDerived>(ReadOnlyTensorSpan<TDerived>)

Přetypuje rozsah jen pro čtení TDerived na rozsah jen pro čtení T.

CopyTo(TensorSpan<T>)

Zkopíruje obsah tohoto rozsahu jen pro čtení do cílového rozsahu. Pokud se zdroj a cíle překrývají, tato metoda se chová, jako by původní hodnoty v dočasném umístění před přepsání cíle.

Equals(Object)
Zastaralé.

Tato metoda není podporována, protože rozsahy nelze za boxovat. Chcete-li porovnat dvě rozsahy, použijte operátor==.

FlattenTo(Span<T>)

Zploštěná obsah tohoto rozsahu do poskytnutého Span<T>.

GetEnumerator()

Získá enumerátor pro toto rozpětí.

GetHashCode()
Zastaralé.

Tato metoda není podporována, protože rozsahy nelze za boxovat.

GetPinnableReference()

Vrátí odkaz na 0. prvek ReadOnlyTensorSpan. Pokud je readOnlyTensorSpan prázdný, vrátí odkaz null. Lze ji použít pro připnutí a je nutná k podpoře použití rozsahu v rámci pevného příkazu.

Slice(ReadOnlySpan<NIndex>)

Vrátí odkaz na zadaný prvek TensorSpan.

Slice(ReadOnlySpan<NRange>)

Vytvoří řez z daného rozsahu.

ToString()

Vrátí String s názvem typu a počtem prvků.

TryCopyTo(TensorSpan<T>)

Zkopíruje obsah tohoto rozsahu jen pro čtení do cílového rozsahu. Pokud se zdroj a cíle překrývají, tato metoda se chová, jako by původní hodnoty v dočasném umístění před přepsání cíle.

TryFlattenTo(Span<T>)

Zploštěná obsah tohoto rozsahu do poskytnutého Span<T>.

Operátory

Equality(ReadOnlyTensorSpan<T>, ReadOnlyTensorSpan<T>)

Vrátí hodnotu true, pokud levý a pravý bod ve stejné paměti a má stejnou délku. Všimněte si, že to nekontroluje, jestli se obsahu nerovná.

Implicit(T[] to ReadOnlyTensorSpan<T>)

ReadOnlyTensorSpan představuje souvislou oblast libovolné paměti. Na rozdíl od polí může odkazovat na spravovanou nebo nativní paměť nebo na paměť přidělenou v zásobníku. Jedná se o typově bezpečné a bezpečné pro paměť.

Inequality(ReadOnlyTensorSpan<T>, ReadOnlyTensorSpan<T>)

Vrátí hodnotu false, pokud levý a pravý bod ve stejné paměti a má stejnou délku. Všimněte si, že to nekontroluje, jestli se obsahu nerovná.

Metody rozšíření

BroadcastTo<T>(ReadOnlyTensorSpan<T>, TensorSpan<T>)

Vysílání dat z source do destination.

Reshape<T>(ReadOnlyTensorSpan<T>, ReadOnlySpan<IntPtr>)

Přetváření tensor tensoru na zadaný lengths. Pokud je jedna z délek -1, vypočítá se automaticky. Nezmění délku podkladové paměti ani nepřiděluje novou paměť. Pokud nový obrazec není kompatibilní se starým obrazcem, vyvolá se výjimka.

SequenceEqual<T>(ReadOnlyTensorSpan<T>, ReadOnlyTensorSpan<T>)

Určuje, zda jsou dvě sekvence stejné porovnáním prvků pomocí IEquatable{T}. Rovná se(T).

Squeeze<T>(ReadOnlyTensorSpan<T>)

Odebere všechny rozměry délky jednoho z tensor.

SqueezeDimension<T>(ReadOnlyTensorSpan<T>, Int32)

Odebere osu délky 1 z tensor pro danou dimension. Pokud dimenze nemá délku, vyvolá výjimku.

ToString<T>(ReadOnlyTensorSpan<T>, ReadOnlySpan<IntPtr>)

Vytvoří String reprezentaci ReadOnlyTensorSpan<T>." />

TryBroadcastTo<T>(ReadOnlyTensorSpan<T>, TensorSpan<T>)

Vysílejte data z tensor na nejmenší vysílaný obrazec kompatibilní s destination a uloží je do destination Pokud obrazce nejsou kompatibilní, vrátí se false.

Unsqueeze<T>(ReadOnlyTensorSpan<T>, Int32)

Vložte novou dimenzi o délce 1, která se zobrazí na pozici rozměru.

Platí pro