TensorSpan<T> Struktur
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
TensorSpan stellt einen zusammenhängenden Bereich des beliebigen Speichers dar. Im Gegensatz zu Arrays kann sie entweder auf verwalteten oder systemeigenen Speicher oder auf den im Stapel zugewiesenen Speicher verweisen. Es ist typsicher und speichersicher.
generic <typename T>
public value class TensorSpan
[System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5001", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public readonly ref struct TensorSpan<T>
[<System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5001", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type TensorSpan<'T> = struct
Public Structure TensorSpan(Of T)
Typparameter
- T
- Vererbung
- Attribute
Konstruktoren
TensorSpan<T>(Array) |
Erstellt eine neue TensorSpan<T> über den bereitgestellten Array. Die neue TensorSpan<T> hat einen Rang von 1 und eine Länge, die der Länge der angegebenen Arrayentspricht. |
TensorSpan<T>(Array, ReadOnlySpan<Int32>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>) |
Erstellt eine neue TensorSpan<T> über den bereitgestellten Array unter Verwendung der angegebenen Anfangsversätze, Längen und Strides. Wenn die Schritte nicht angegeben werden, werden sie automatisch berechnet. |
TensorSpan<T>(Array, ReadOnlySpan<NIndex>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>) |
Erstellt eine neue TensorSpan<T> über den bereitgestellten Array unter Verwendung der angegebenen Anfangsversätze, Längen und Strides. Wenn die Schritte nicht angegeben werden, werden sie automatisch berechnet. |
TensorSpan<T>(Span<T>) |
Erstellt eine neue TensorSpan<T> über den bereitgestellten Span<T>. Die neue TensorSpan<T> hat einen Rang von 1 und eine Länge, die der Länge der angegebenen Span<T>entspricht. |
TensorSpan<T>(Span<T>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>) |
Erstellt eine neue TensorSpan<T> über den bereitgestellten Span<T> mithilfe der angegebenen Längen und Strides. Wenn die Schritte nicht angegeben werden, werden sie automatisch berechnet. |
TensorSpan<T>(T*, IntPtr) |
Erstellt eine neue Spanne über den nicht verwalteten Zielpuffer. Klar ist dies ziemlich gefährlich, die Länge wird nicht überprüft. Wenn diese Erstellung jedoch korrekt ist, sind alle nachfolgenden Verwendungen korrekt. |
TensorSpan<T>(T*, IntPtr, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>) |
Erstellt eine neue Spanne über den nicht verwalteten Zielpuffer. Das ist eindeutig gefährlich, weil die Länge nicht überprüft wird. Wenn diese Erstellung jedoch korrekt ist, sind alle nachfolgenden Verwendungen korrekt. |
TensorSpan<T>(T[]) |
Erstellt eine neue Spanne über die gesamte Anzahl der Zielarrays. |
TensorSpan<T>(T[], Index, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>) |
Erstellt eine neue Spanne über den Teil des Zielarrays, der am "start"-Index beginnt und am "endenden" Index (exklusiv) endet. |
TensorSpan<T>(T[], Int32, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>) |
Erstellt eine neue Spanne über den Teil des Zielarrays, der am "start"-Index beginnt und am "endenden" Index (exklusiv) endet. |
Eigenschaften
Empty |
Gibt einen leeren TensorSpan<T> zurück. |
FlattenedLength |
Die Anzahl der Elemente in der Spanne. |
IsEmpty |
Ruft einen Wert ab, der angibt, ob diese TensorSpan<T> leer ist. |
Item[ReadOnlySpan<IntPtr>] |
Gibt einen Verweis auf das angegebene Element des TensorSpan zurück. |
Item[ReadOnlySpan<NIndex>] |
Gibt einen Verweis auf das angegebene Element des TensorSpan zurück. |
Item[ReadOnlySpan<NRange>] |
Gibt ein Segment des TensorSpan zurück. |
Lengths |
Ruft die Länge der einzelnen Dimensionen in diesem TensorSpan<T>ab. |
Rank |
Ruft den Rang ab, auch bekannt als die Anzahl der Dimensionen dieses TensorSpan<T>. |
Strides |
Ruft die Fortschritte dieser TensorSpan<T> |
Methoden
Clear() |
Löscht den Inhalt dieser Spanne. |
CopyTo(TensorSpan<T>) |
Kopiert den Inhalt dieser Spanne in die Zielspanne. Wenn sich die Quelle und ziele überlappen, verhält sich diese Methode so, als ob die ursprünglichen Werte an einem temporären Speicherort vor dem Überschreiben des Ziels überschrieben werden. |
Equals(Object) |
Veraltet.
Diese Methode wird nicht unterstützt, da Spannen nicht boxen können. Um zwei Spans zu vergleichen, verwenden Sie den Operator==. |
Fill(T) |
Füllt den Inhalt dieser Spanne mit dem angegebenen Wert aus. |
FlattenTo(Span<T>) |
Flacht den Inhalt dieser Spanne in die bereitgestellte Span<T>. |
GetEnumerator() |
Ruft einen Enumerator für diese Spanne ab. |
GetHashCode() |
Veraltet.
Diese Methode wird nicht unterstützt, da Spannen nicht boxen können. |
GetPinnableReference() |
Gibt einen Verweis auf das 0. Element des TensorSpan zurück. Wenn der TensorSpan leer ist, wird der Nullverweis zurückgegeben. Sie kann zum Anheften verwendet werden und ist erforderlich, um die Verwendung von Span innerhalb einer festen Anweisung zu unterstützen. |
Slice(ReadOnlySpan<NIndex>) |
Gibt einen Verweis auf das angegebene Element des TensorSpan zurück. |
Slice(ReadOnlySpan<NRange>) |
Bildet ein Segment aus der angegebenen Spanne. |
ToString() |
Gibt für Span<T>eine neue Instanz von Zeichenfolgen zurück, die die Zeichen darstellt, auf die durch die Spanne verwiesen wird. Andernfalls wird ein String mit dem Namen des Typs und der Anzahl der Elemente zurückgegeben. |
TryCopyTo(TensorSpan<T>) |
Kopiert den Inhalt dieser Spanne in die Zielspanne. Wenn sich die Quelle und ziele überlappen, verhält sich diese Methode so, als ob die ursprünglichen Werte an einem temporären Speicherort vor dem Überschreiben des Ziels überschrieben werden. |
TryFlattenTo(Span<T>) |
Flacht den Inhalt dieser Spanne in die bereitgestellte Span<T>. |
Operatoren
Equality(TensorSpan<T>, TensorSpan<T>) |
Gibt true zurück, wenn links und rechts am gleichen Speicher und dieselbe Länge aufweisen. Beachten Sie, dass dadurch nicht überprüft wird, ob die Inhalte gleich sind. |
Implicit(T[] to TensorSpan<T>) |
TensorSpan stellt einen zusammenhängenden Bereich des beliebigen Speichers dar. Im Gegensatz zu Arrays kann sie entweder auf verwalteten oder systemeigenen Speicher oder auf den im Stapel zugewiesenen Speicher verweisen. Es ist typsicher und speichersicher. |
Implicit(TensorSpan<T> to ReadOnlyTensorSpan<T>) |
Wandelt eine TensorSpan<T> in eine ReadOnlyTensorSpan<T>um. |
Inequality(TensorSpan<T>, TensorSpan<T>) |
Gibt false zurück, wenn links und rechts am gleichen Speicher und dieselbe Länge aufweisen. Beachten Sie, dass dadurch nicht überprüft wird, ob die Inhalte gleich sind. |
Erweiterungsmethoden
BroadcastTo<T>(TensorSpan<T>, TensorSpan<T>) |
Übertragen Sie die Daten von |
FilteredUpdate<T>(TensorSpan<T>, ReadOnlyTensorSpan<Boolean>, T) |
Aktualisiert den |
FilteredUpdate<T>(TensorSpan<T>, ReadOnlyTensorSpan<Boolean>, ReadOnlyTensorSpan<T>) |
Aktualisiert den |
Reshape<T>(TensorSpan<T>, ReadOnlySpan<IntPtr>) |
Formt den |
SequenceEqual<T>(TensorSpan<T>, ReadOnlyTensorSpan<T>) |
Bestimmt, ob zwei Sequenzen gleich sind, indem die Elemente mithilfe von "IEquatable{T}" verglichen werden. Entspricht(T). |
SetSlice<T>(TensorSpan<T>, ReadOnlyTensorSpan<T>, ReadOnlySpan<NRange>) |
Legt einen Datenschnitt der angegebenen |
Squeeze<T>(TensorSpan<T>) |
Entfernt alle Dimensionen der länge 1 aus der |
SqueezeDimension<T>(TensorSpan<T>, Int32) |
Entfernt die Achse der ersten Achse aus der |
ToString<T>(TensorSpan<T>, ReadOnlySpan<IntPtr>) |
Erstellt eine String Darstellung der TensorSpan<T>." /> |
TryBroadcastTo<T>(TensorSpan<T>, TensorSpan<T>) |
Übertragen Sie die Daten von |
Unsqueeze<T>(TensorSpan<T>, Int32) |
Fügen Sie eine neue Dimension der Länge 1 ein, die an der Bemaßungsposition angezeigt wird. |