VBuffer<T> Estrutura
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 |
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 |
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 |
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(). |