VBuffer<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.
Ein Puffer, der sowohl dichte als auch spärliche Darstellungen unterstützt. Dies ist der Darstellungstyp für alle VectorDataViewType Instanzen. Die explizit definierten Werte dieses Vektors werden durch GetValues() und verfügbar gemacht, falls nicht dicht GetIndices().
public readonly struct VBuffer<T> : System.Collections.IEnumerable
public readonly struct VBuffer<T>
type VBuffer<'T> = struct
interface IEnumerable
type VBuffer<'T> = struct
Public Structure VBuffer(Of T)
Implements IEnumerable
Public Structure VBuffer(Of T)
Typparameter
- T
Der Typ des Vektors. Es gibt keine Kompilierzeiteinschränkungen, was dies sein könnte, aber dieser Code und praktisch der gesamte Code, der verwendet VBuffer<T> , gehen davon aus, dass eine Zuweisung eines Werts ausreicht, um eine völlig unabhängige Kopie davon zu erstellen. Dies bedeutet beispielsweise, dass ein Puffer von Puffern nicht möglich ist. Aber Dinge wie Int32, Singleund ReadOnlyMemory<T>, sind völlig in Ordnung.
- Vererbung
-
VBuffer<T>
- Implementiert
Hinweise
Diese Struktur ist an sich unveränderlich, aber um die Pufferbearbeitung einschließlich der Wiederverwendung der internen Puffer zu ermöglichen, kann über VBuffer<T>eine veränderliche Variante VBufferEditor<T> zugegriffen werden.
Im gesamten Code gehen wir davon aus, dass ein Sparse VBuffer<T> logisch einer Dichte VBuffer<T> mit dem Standardwert für T
das Ausfüllen der Standardwerte entspricht.
Konstruktoren
VBuffer<T>(Int32, Int32, T[], Int32[]) |
Erstellen Sie eine möglicherweise spärliche Vektordarstellung. |
VBuffer<T>(Int32, T[], Int32[]) |
Erstellen Sie eine dichte Darstellung. Das |
Felder
Length |
Die logische Länge des Puffers. |
Eigenschaften
IsDense |
Ruft einen Wert ab, der angibt, ob jedes logische Element explizit im Puffer dargestellt wird. |
Methoden
Copy(T[], Int32, VBuffer<T>, Int32) |
Kopieren Sie aus einem Abschnitt eines Quellarrays auf das angegebene Ziel. |
CopyTo(Span<T>) |
Kopieren Sie aus diesem Puffer in die angegebene Zielspanne. Dies "verdichtet". |
CopyTo(Span<T>, Int32, T) |
Kopieren Sie aus diesem Puffer ab dem angegebenen Index in die angegebene Zielspanne. Dies "verdichtet". |
CopyTo(VBuffer<T>) |
Kopieren Sie aus diesem Puffer in das angegebene Ziel. |
CopyTo(VBuffer<T>, Int32, Int32) |
Kopieren Sie einen Wertebereich aus diesem Puffer in das angegebene Ziel. |
CopyToDense(VBuffer<T>) |
Kopieren Sie aus diesem Puffer in das angegebene Ziel, um eine dichte Darstellung zu erzwingen. |
DenseValues() |
Gibt eine Aufzählung mit Length Elementen zurück, die die Werte darstellt. |
GetEnumerator() |
Gibt einen Enumerator zurück, der die Werte in VBuffer durchläuft. |
GetIndices() |
Die Indizes. Für eine dichte Darstellung wird dieses Array nicht verwendet und gibt die standardmäßige "leere" Spanne zurück.
Bei einer Spärsedarstellung ist sie parallel zu der von GetValues() zurückgegebenen und gibt die logischen Indizes für die entsprechenden Werte in zunehmender Reihenfolge zwischen 0 inklusiven und Length exklusiven werten an, die allen explizit definierten Werten entsprechen. Alle Werte bei nicht angegebenen Indizes sollten als implizit mit dem Standardwert |
GetItemOrDefault(Int32) |
Eine Variante von GetItemOrDefault(Int32, T) , die den Wert zurückgibt, anstatt ihn mithilfe eines Verweisparameters zurück zu übergeben. |
GetItemOrDefault(Int32, T) |
Ruft das in dieser Struktur gespeicherte Element ab. Im Fall eines dichten Vektors ist dies eine einfache Suche.
Im Fall eines Sparsevektors wird versucht, den Eintrag mit diesem Index zu finden, und auf diesen gespeicherten Wert festgelegt |
GetValues() |
Die explizit dargestellten Werte. Wenn dies ist IsDense, entspricht der Length des zurückgegebenen Werts Lengthund hat andernfalls eine Länge kleiner als Length. |
Items(Boolean) |
Gibt die gemeinsame Liste aller Index-Wert-Paare zurück. |
ToString() |
Ein Puffer, der sowohl dichte als auch spärliche Darstellungen unterstützt. Dies ist der Darstellungstyp für alle VectorDataViewType Instanzen. Die explizit definierten Werte dieses Vektors werden durch GetValues() und verfügbar gemacht, falls nicht dicht GetIndices(). |