Compartir a través de


VBuffer<T> Estructura

Definición

Búfer que admite representaciones densas y dispersas. Este es el tipo de representación de todas las VectorDataViewType instancias. Los valores definidos explícitamente de este vector se exponen a través GetValues() de y, si no es denso, 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)

Parámetros de tipo

T

Tipo del vector. No hay restricciones en tiempo de compilación sobre lo que podría ser, pero este código y prácticamente todo el código que usa VBuffer<T> hace la suposición de que una asignación de un valor es suficiente para realizar una copia completamente independiente de él. Por lo tanto, por ejemplo, esto significa que no es posible un búfer de búferes. Pero, las cosas como Int32, Singley ReadOnlyMemory<T>, están totalmente bien.

Herencia
VBuffer<T>
Implementaciones

Comentarios

Esta estructura es inmutable por sí misma, pero para habilitar la edición del búfer, incluida la reutilización de los búferes internos, se puede acceder a una variante VBufferEditor<T> mutable a través VBuffer<T>de .

A lo largo del código, se supone que un disperso VBuffer<T> es lógicamente equivalente a un VBuffer<T> denso con el valor predeterminado para T rellenar los valores predeterminados.

Constructores

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

Construir una representación vectorial posiblemente dispersa.

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

Construir una representación densa. La indices matriz a menudo no se especifica, pero si se especifica, se debe considerar un búfer en el que se va a mantener, para poder usarse.

Campos

Length

Longitud lógica del búfer.

Propiedades

IsDense

Obtiene un valor que indica si cada elemento lógico se representa explícitamente en el búfer.

Métodos

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

Copie de una sección de una matriz de origen en el destino especificado.

CopyTo(Span<T>)

Copie de este búfer en el intervalo de destino especificado. Esto "densifies".

CopyTo(Span<T>, Int32, T)

Copie de este búfer en el intervalo de destino especificado, empezando por el índice especificado. Esto "densifies".

CopyTo(VBuffer<T>)

Copie de este búfer en el destino especificado.

CopyTo(VBuffer<T>, Int32, Int32)

Copie un intervalo de valores de este búfer en el destino especificado.

CopyToDense(VBuffer<T>)

Copie de este búfer en el destino especificado, lo que fuerza una representación densa.

DenseValues()

Devuelve un enumerable con Length elementos que representan los valores.

GetEnumerator()

Devuelve un enumerador que recorre en iteración los valores de VBuffer.

GetIndices()

Índices. Para una representación densa, esta matriz no se usa y devolverá el intervalo predeterminado "vacío". Para una representación dispersa, es paralela a la que se GetValues() devuelve y especifica los índices lógicos de los valores correspondientes, en orden creciente, entre 0 inclusivos y Length exclusivos, correspondientes a todos los valores definidos explícitamente. Todos los valores de índices no especificados se deben tratar como definidos implícitamente con el valor predeterminado de T.

GetItemOrDefault(Int32)

Variante de GetItemOrDefault(Int32, T) que devuelve el valor en lugar de volver a pasarlo mediante un parámetro de referencia.

GetItemOrDefault(Int32, T)

Obtiene el elemento almacenado en esta estructura. En el caso de un vector denso, se trata de una búsqueda simple. En el caso de un vector disperso, intentará buscar la entrada con ese índice y establecer en destination ese valor almacenado, o si no se encontró ese valor, asígnele el valor predeterminado.

GetValues()

Valores representados explícitamente. Cuando se trata IsDensede , el Length valor devuelto será igual Lengtha y, de lo contrario, tendrá una longitud menor que Length.

Items(Boolean)

Devuelve la lista conjunta de todos los pares de índice/valor.

ToString()

Búfer que admite representaciones densas y dispersas. Este es el tipo de representación de todas las VectorDataViewType instancias. Los valores definidos explícitamente de este vector se exponen a través GetValues() de y, si no es denso, GetIndices().

Se aplica a