Partager via


VBuffer<T> Structure

Définition

Mémoire tampon qui prend en charge les représentations denses et éparses. Il s’agit du type de représentation pour toutes les VectorDataViewType instances. Les valeurs explicitement définies de ce vecteur sont exposées via GetValues() et, si ce n’est pas dense, 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)

Paramètres de type

T

Type du vecteur. Il n’existe aucune restriction au moment de la compilation, mais ce code et la quasi-totalité du code utilisé VBuffer<T> supposent qu’une affectation d’une valeur est suffisante pour en faire une copie complètement indépendante. Par exemple, cela signifie qu’une mémoire tampon de mémoires tampons n’est pas possible. Mais, les choses comme Int32, Singleet ReadOnlyMemory<T>, sont tout à fait correctes.

Héritage
VBuffer<T>
Implémente

Remarques

Cette structure est immuable, mais pour permettre la modification de la mémoire tampon, y compris la réutilisation des mémoires tampons internes, une variante VBufferEditor<T> mutable est accessible via VBuffer<T>.

Tout au long du code, nous supposons qu’un éparse VBuffer<T> est logiquement équivalent à un dense VBuffer<T> avec la valeur par défaut pour T le remplissage des valeurs par défaut.

Constructeurs

VBuffer<T>(Int32, Int32, T[], Int32[])

Construisez une représentation vectorielle éventuellement éparse.

VBuffer<T>(Int32, T[], Int32[])

Construisez une représentation dense. Le indices tableau n’est souvent pas spécifié, mais s’il est spécifié, il doit être considéré comme une mémoire tampon à utiliser.

Champs

Length

Longueur logique de la mémoire tampon.

Propriétés

IsDense

Obtient une valeur indiquant si chaque élément logique est explicitement représenté dans la mémoire tampon.

Méthodes

Copy(T[], Int32, VBuffer<T>, Int32)

Copiez à partir d’une section d’un tableau source vers la destination donnée.

CopyTo(Span<T>)

Copiez à partir de cette mémoire tampon vers l’étendue de destination donnée. Cela « densifie ».

CopyTo(Span<T>, Int32, T)

Copiez à partir de cette mémoire tampon vers l’étendue de destination donnée, en commençant à l’index spécifié. Cela « densifie ».

CopyTo(VBuffer<T>)

Copiez à partir de cette mémoire tampon vers la destination donnée.

CopyTo(VBuffer<T>, Int32, Int32)

Copiez une plage de valeurs de cette mémoire tampon vers la destination donnée.

CopyToDense(VBuffer<T>)

Copiez à partir de cette mémoire tampon vers la destination donnée, ce qui force une représentation dense.

DenseValues()

Retourne un énumérable avec Length des éléments, représentant les valeurs.

GetEnumerator()

Retourne un énumérateur qui itère à travers les valeurs dans VBuffer.

GetIndices()

Index. Pour une représentation dense, ce tableau n’est pas utilisé et retourne l’étendue « vide » par défaut. Pour une représentation éparse, elle est parallèle à celle retournée à partir de GetValues() et spécifie les index logiques pour les valeurs correspondantes, dans l’ordre croissant, comprises entre 0 inclusif et Length exclusif, correspondant à toutes les valeurs explicitement définies. Toutes les valeurs d’index non spécifiés doivent être traitées comme étant définies implicitement avec la valeur par défaut de T.

GetItemOrDefault(Int32)

Variante de GetItemOrDefault(Int32, T) qui retourne la valeur au lieu de la renvoyer à l’aide d’un paramètre de référence.

GetItemOrDefault(Int32, T)

Obtient l’élément stocké dans cette structure. Dans le cas d’un vecteur dense, il s’agit d’une simple recherche. Dans le cas d’un vecteur éparse, il essaie de trouver l’entrée avec cet index et définit destination sur cette valeur stockée ou, si aucune valeur de ce type n’a été trouvée, attribuez-lui la valeur par défaut.

GetValues()

Valeurs explicitement représentées. Dans ce IsDensecas , le Length de la valeur retournée est égal Lengthà , et sinon a une longueur inférieure à Length.

Items(Boolean)

Retourne la liste conjointe de toutes les paires index/valeur.

ToString()

Mémoire tampon qui prend en charge les représentations denses et éparses. Il s’agit du type de représentation pour toutes les VectorDataViewType instances. Les valeurs explicitement définies de ce vecteur sont exposées via GetValues() et, si ce n’est pas dense, GetIndices().

S’applique à