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, wenn nicht dicht, GetIndices()verfügbar gemacht.
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 Einschränkungen für die Kompilierungszeit, aber dieser Code und praktisch alle Code, der verwendet, VBuffer<T> machen die Annahme, 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 gut.
- Vererbung
-
VBuffer<T>
- Implementiert
Hinweise
Diese Struktur ist selbst unveränderlich, aber um die Pufferbearbeitung einschließlich der wiederverwenden der internen Puffer zu aktivieren, kann über VBuffer<T>eine veränderbare Variante VBufferEditor<T> zugegriffen werden.
Im gesamten Code wird davon ausgegangen, dass eine Sparse VBuffer<T> logisch einer dichten VBuffer<T> Äquivalent mit dem Standardwert zum T Ausfüllen der Standardwerte entspricht.
Konstruktoren
| Name | Beschreibung |
|---|---|
| VBuffer<T>(Int32, Int32, T[], Int32[]) |
Erstellen Sie eine möglicherweise geringe Vektordarstellung. |
| VBuffer<T>(Int32, T[], Int32[]) |
Erstellen Sie eine dichte Darstellung. Das |
Felder
| Name | Beschreibung |
|---|---|
| Length |
Die logische Länge des Puffers. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| IsDense |
Ruft einen Wert ab, der angibt, ob jedes logische Element explizit im Puffer dargestellt wird. |
Methoden
| Name | Beschreibung |
|---|---|
| Copy(T[], Int32, VBuffer<T>, Int32) |
Kopieren sie aus einem Abschnitt eines Quellarrays an das angegebene Ziel. |
| CopyTo(Span<T>, Int32, T) |
Kopieren Sie aus diesem Puffer in die angegebene Zielspanne, beginnend mit dem angegebenen Index. Dies "verdichtet". |
| CopyTo(Span<T>) |
Kopieren Sie aus diesem Puffer in die angegebene Zielspanne. Dies "verdichtet". |
| CopyTo(VBuffer<T>, Int32, Int32) |
Kopieren Sie einen Wertebereich aus diesem Puffer in das angegebene Ziel. |
| CopyTo(VBuffer<T>) |
Kopieren Sie aus diesem Puffer in das angegebene Ziel. |
| CopyToDense(VBuffer<T>) |
Kopieren Sie diesen Puffer in das angegebene Ziel, und erzwingen Sie eine dichte Darstellung. |
| DenseValues() |
Gibt eine Aufzählung mit Length Elementen zurück, die die Werte darstellen. |
| GetEnumerator() |
Gibt einen Enumerator zurück, der die Werte in VBuffer durchläuft. |
| GetIndices() |
Die Indizes. Bei einer dichten Darstellung wird dieses Array nicht verwendet und gibt die standardmäßige "leere" Spanne zurück.
Bei einer spärlichen Darstellung ist sie parallel zu dieser zurückgegebenen GetValues() und gibt die logischen Indizes für die entsprechenden Werte in zunehmender Reihenfolge zwischen 0 einschließlich und Length exklusiv an, die allen explizit definierten Werten entsprechen. Alle Werte bei nicht angegebenen Indizes sollten implizit mit dem Standardwert von |
| GetItemOrDefault(Int32, T) |
Ruft das in dieser Struktur gespeicherte Element ab. Bei einem dichten Vektor ist dies ein einfacher Nachschlagevorgang.
Im Falle eines sparse-Vektors wird versucht, den Eintrag mit diesem Index zu finden und auf diesen gespeicherten Wert festzulegen |
| GetItemOrDefault(Int32) |
Eine Variante davon GetItemOrDefault(Int32, T) gibt den Wert zurück, anstatt ihn mithilfe eines Referenzparameters zurück zu übergeben. |
| GetValues() |
Die explizit dargestellten Werte. Wenn dies IsDenseLength der zurückgegebene Wert gleich Lengthist und andernfalls die Länge kleiner als istLength. |
| 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, wenn nicht dicht, GetIndices()verfügbar gemacht. |