VBuffer<T> Estrutura

Definição

Um buffer que dá suporte a representações densas e esparsas. Esse é o tipo de representação para todas as VectorDataViewType instâncias. Os valores explicitamente definidos desse vetor são expostos por meio GetValues() de e, se não 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

O tipo do vetor. Não há restrições de tempo de compilação sobre o que isso poderia ser, mas esse código e praticamente todo o código que usa VBuffer<T> pressupõe que uma atribuição de um valor é suficiente para fazer uma cópia completamente independente dele. Portanto, por exemplo, isso significa que um buffer de buffers não é possível. Mas, coisas como Int32, Singlee ReadOnlyMemory<T>, estão totalmente bem.

Herança
VBuffer<T>
Implementações

Comentários

Essa estrutura é imutável por si só, mas para habilitar a edição de buffer, incluindo o reutilizamento dos buffers internos, uma variante VBufferEditor<T> mutável pode ser acessada por meio VBuffer<T>de .

Em todo o código, fazemos a suposição de que um esparso VBuffer<T> é logicamente equivalente a um denso VBuffer<T> com o valor padrão para T preencher os valores padrão.

Construtores

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

Construa uma representação de vetor possivelmente esparsa.

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

Construa uma representação densa. A indices matriz geralmente não é especificada, mas, se especificada, ela deve ser considerada um buffer a ser mantido, para ser possivelmente usado.

Campos

Length

O comprimento lógico do buffer.

Propriedades

IsDense

Obtém um valor que indica se cada elemento lógico é representado explicitamente no buffer.

Métodos

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

Copie de uma seção de uma matriz de origem para o destino especificado.

CopyTo(Span<T>)

Copie desse buffer para o intervalo de destino fornecido. Isso "densifica".

CopyTo(Span<T>, Int32, T)

Copie desse buffer para o intervalo de destino fornecido, começando no índice especificado. Isso "densifica".

CopyTo(VBuffer<T>)

Copie desse buffer para o destino fornecido.

CopyTo(VBuffer<T>, Int32, Int32)

Copie um intervalo de valores desse buffer para o destino fornecido.

CopyToDense(VBuffer<T>)

Copie desse buffer para o destino fornecido, forçando uma representação densa.

DenseValues()

Retorna um enumerável com Length itens, representando os valores.

GetEnumerator()

Retorna um enumerador que itera por meio dos valores no VBuffer.

GetIndices()

Os índices. Para uma representação densa, essa matriz não é usada e retornará o intervalo padrão "vazio". Para uma representação esparsa, ele é paralelo ao retornado de GetValues() e especifica os índices lógicos para os valores correspondentes, em ordem crescente, entre 0 inclusivo e Length exclusivo, correspondente a todos os valores explicitamente definidos. Todos os valores em índices não especificados devem ser tratados como sendo definidos implicitamente com o valor padrão de T.

GetItemOrDefault(Int32)

Uma variante de GetItemOrDefault(Int32, T) que retorna o valor em vez de passá-lo de volta usando um parâmetro de referência.

GetItemOrDefault(Int32, T)

Obtém o item armazenado nessa estrutura. No caso de um vetor denso, essa é uma pesquisa simples. No caso de um vetor esparso, ele tentará localizar a entrada com esse índice e definir destination para esse valor armazenado ou, se nenhum valor desse tipo for encontrado, atribuirá a ele o valor padrão.

GetValues()

Os valores representados explicitamente. Quando esse IsDense, o Length do valor retornado será igual Lengtha e, caso contrário, terá comprimento menor que Length.

Items(Boolean)

Retorna a lista conjunta de todos os pares de índice/valor.

ToString()

Um buffer que dá suporte a representações densas e esparsas. Esse é o tipo de representação para todas as VectorDataViewType instâncias. Os valores explicitamente definidos desse vetor são expostos por meio GetValues() de e, se não denso, GetIndices().

Aplica-se a