Udostępnij za pośrednictwem


ReadOnlyTensorSpan<T> Struktura

Definicja

ReadOnlyTensorSpan reprezentuje ciągły region dowolnej pamięci. W przeciwieństwie do tablic może wskazywać zarządzaną lub natywną pamięć albo pamięć przydzieloną na stos. Jest bezpieczny pod kątem typów i bezpieczny pod kątem pamięci.

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
Dziedziczenie
ReadOnlyTensorSpan<T>
Atrybuty

Konstruktory

ReadOnlyTensorSpan<T>(Array)

Tworzy nowe ReadOnlyTensorSpan<T> w podanym Array. Nowy ReadOnlyTensorSpan<T> będzie miał rangę 1 i długość równą długości podanej Array.

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

Tworzy nowe ReadOnlyTensorSpan<T> nad podanym Array przy użyciu określonych przesunięć, długości i kroków rozpoczęcia. Jeśli nie podano kroków, zostaną one automatycznie obliczone.

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

Tworzy nowe ReadOnlyTensorSpan<T> nad podanym Array przy użyciu określonych przesunięć, długości i kroków rozpoczęcia. Jeśli nie podano kroków, zostaną one automatycznie obliczone.

ReadOnlyTensorSpan<T>(ReadOnlySpan<T>)

Tworzy nowe ReadOnlyTensorSpan<T> w podanym ReadOnlySpan<T>. Nowy ReadOnlyTensorSpan<T> będzie miał rangę 1 i długość równą długości podanej ReadOnlySpan<T>.

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

Tworzy nowe ReadOnlyTensorSpan<T> nad podanymi Span<T> przy użyciu określonych długości i kroków. Jeśli nie podano kroków, zostaną one automatycznie obliczone.

ReadOnlyTensorSpan<T>(T*, IntPtr)

Tworzy nowe zakresy dla docelowego buforu niezarządzanego. Oczywiście jest to dość niebezpieczne, długość nie jest sprawdzana. Jeśli jednak tworzenie jest poprawne, wszystkie kolejne zastosowania są poprawne.

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

Tworzy nowe zakresy dla docelowego buforu niezarządzanego. Oczywiście jest to dość niebezpieczne, ponieważ długość nie jest sprawdzana. Jeśli jednak tworzenie jest poprawne, wszystkie kolejne zastosowania są poprawne.

ReadOnlyTensorSpan<T>(T[])

Tworzy nowe zakresy w całej tablicy docelowej.

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

Tworzy nowy zakres na części tablicy docelowej rozpoczynającej się od indeksu "start" i kończącego się na indeksie "end" (wyłączność).

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

Tworzy nowy zakres na części tablicy docelowej rozpoczynającej się od indeksu "start" i kończącego się na indeksie "end" (wyłączność).

Właściwości

Empty

Zwraca zakres tylko do odczytu o długości 0, którego podstawa jest wskaźnikiem o wartości null.

FlattenedLength

Liczba elementów w zakresie.

IsEmpty

Pobiera wartość wskazującą, czy ta TensorSpan<T> jest pusta.

Item[ReadOnlySpan<IntPtr>]

Zwraca odwołanie do określonego elementu funkcji ReadOnlyTensorSpan.

Item[ReadOnlySpan<NIndex>]

Zwraca odwołanie do określonego elementu funkcji ReadOnlyTensorSpan.

Item[ReadOnlySpan<NRange>]

Zwraca wycinek funkcji ReadOnlyTensorSpan.

Lengths

Pobiera długość każdego wymiaru w tym TensorSpan<T>.

Rank

Pobiera rangę( czyli liczbę wymiarów) tego TensorSpan<T>.

Strides

Pobiera kroki tego TensorSpan<T>

Metody

CastUp<TDerived>(ReadOnlyTensorSpan<TDerived>)

Rzutuje zakres tylko do odczytu TDerived do zakresu tylko do odczytu T.

CopyTo(TensorSpan<T>)

Kopiuje zawartość tego zakresu tylko do odczytu do zakresu docelowego. Jeśli źródło i miejsca docelowe nakładają się na siebie, ta metoda zachowuje się tak, jakby oryginalne wartości w lokalizacji tymczasowej przed zastąpieniem miejsca docelowego.

Equals(Object)
Przestarzałe.

Ta metoda nie jest obsługiwana, ponieważ nie można boksować zakresów. Aby porównać dwa zakresy, użyj operatora==.

FlattenTo(Span<T>)

Spłaszcza zawartość tego zakresu w podanym Span<T>.

GetEnumerator()

Pobiera moduł wyliczający dla tego zakresu.

GetHashCode()
Przestarzałe.

Ta metoda nie jest obsługiwana, ponieważ nie można boksować zakresów.

GetPinnableReference()

Zwraca odwołanie do 0. elementu funkcji ReadOnlyTensorSpan. Jeśli element ReadOnlyTensorSpan jest pusty, zwraca odwołanie o wartości null. Można go użyć do przypinania i jest wymagany do obsługi użycia zakresu w stałej instrukcji.

Slice(ReadOnlySpan<NIndex>)

Zwraca odwołanie do określonego elementu tensorSpan.

Slice(ReadOnlySpan<NRange>)

Tworzy wycinkę z danego zakresu

ToString()

Zwraca String z nazwą typu i liczbą elementów.

TryCopyTo(TensorSpan<T>)

Kopiuje zawartość tego zakresu tylko do odczytu do zakresu docelowego. Jeśli źródło i miejsca docelowe nakładają się na siebie, ta metoda zachowuje się tak, jakby oryginalne wartości w lokalizacji tymczasowej przed zastąpieniem miejsca docelowego.

TryFlattenTo(Span<T>)

Spłaszcza zawartość tego zakresu w podanym Span<T>.

Operatory

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

Zwraca wartość true, jeśli lewy i prawy punkt w tej samej pamięci ma taką samą długość. Należy pamiętać, że nie sprawdzić, czy zawartość jest równa.

Implicit(T[] to ReadOnlyTensorSpan<T>)

ReadOnlyTensorSpan reprezentuje ciągły region dowolnej pamięci. W przeciwieństwie do tablic może wskazywać zarządzaną lub natywną pamięć albo pamięć przydzieloną na stos. Jest bezpieczny pod kątem typów i bezpieczny pod kątem pamięci.

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

Zwraca wartość false, jeśli lewy i prawy punkt w tej samej pamięci i ma taką samą długość. Należy pamiętać, że nie sprawdzić, czy zawartość jest równa.

Metody rozszerzania

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

Rozgłaś dane z source do destination.

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

Zmienia tensor tensor na określony lengths. Jeśli jedna z długości wynosi -1, zostanie ona obliczona automatycznie. Nie zmienia długości pamięci bazowej ani nie przydziela nowej pamięci. Jeśli nowy kształt nie jest zgodny ze starym kształtem, zgłaszany jest wyjątek.

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

Określa, czy dwie sekwencje są równe, porównując elementy przy użyciu funkcji IEquatable{T}. Equals(T).

Squeeze<T>(ReadOnlyTensorSpan<T>)

Usuwa wszystkie wymiary długości jednej z tensor.

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

Usuwa oś długości jednej z tensor dla danego dimension. Jeśli wymiar nie ma długości, zgłosi wyjątek.

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

Tworzy String reprezentację ReadOnlyTensorSpan<T>." />

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

Rozgłaś dane z tensor do najmniejszego kształtu nadającego się do emisji zgodnego z destination i zapisuje je w destination Jeśli kształty nie są zgodne, zwracana jest wartość false.

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

Wstaw nowy wymiar długości 1, który będzie wyświetlany w pozycji wymiaru.

Dotyczy