Compartilhar via


DataViewRow Classe

Definição

Uma linha lógica de dados. Pode ser uma linha de uma IDataView ou uma linha autônoma.

public abstract class DataViewRow : IDisposable
type DataViewRow = class
    interface IDisposable
Public MustInherit Class DataViewRow
Implements IDisposable
Herança
DataViewRow
Derivado
Implementações

Construtores

DataViewRow()

Uma linha lógica de dados. Pode ser uma linha de uma IDataView ou uma linha autônoma.

Propriedades

Batch

Isso fornece um meio para reconciliar várias linhas que foram produzidas geralmente de GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). Ao obter um conjunto, é necessário, ao mesmo tempo, permitir que o processamento paralelo prossiga, sempre tenha um objetivo de que a ordem original deve ser recuperável. Observe que se um usuário se preocupa ou não com essa ordem original em um aplicativo específico é outra história completamente (a maioria dos chamadores disso como uma questão prática não, caso contrário, eles não o chamariam), mas pelo menos em princípio deve ser possível reconstruir a ordem original que se obteria de uma configuração GetRowCursor(IEnumerable<DataViewSchema.Column>, Random)idêntica. Portanto: para qualquer implementação do cursor, os números do lote devem não estar diminuindo. Além disso, qualquer número de lote determinado só deve aparecer em um dos cursores conforme retornado por GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). Dessa forma, a ordem é determinada pelo número do lote. Uma operação que reconcilia esses cursores para produzir um cursor único consistente, poderia fazê-lo extraindo do cursor único, entre todos os cursores no conjunto, que tem o menor número de lote disponível.

Observe que não há nenhuma sugestão de que os lotes de uma entrada específica serão consistentes do cursor para o cursor, exceto pela consistência em resultar na mesma ordenação geral. A mesma entrada pode ter números de lote diferentes de um cursor para outro. Também não há nenhum requisito de que um determinado número de lote deve aparecer. É apenas um mecanismo para recuperar a ordenação de um particionamento possivelmente arbitrário dos dados. Ele também segue a partir disso, é claro, que considerar o lote como uma propriedade dos dados é completamente inválido.

Position

Isso é incrementado quando o conteúdo subjacente é alterado, dando aos clientes uma maneira de detectar alterações. Deve ser -1 quando o objeto estiver em um estado em que os valores não podem ser buscados. Em particular, para um DataViewRowCursor, isso será antes MoveNext() se alguma vez for chamado pela primeira vez ou depois que a primeira vez MoveNext() for chamado e retornar false.

Observe que essa posição não está na posição dentro dos dados subjacentes, mas apenas na posição desse cursor. Se um deles, por exemplo, abrisse um conjunto de cursores de streaming paralelos ou um cursor embaralhado, cada uma dessas entradas válidas sempre teria a posição 0.

Schema

Obtém uma Schema, que fornece informações de nome e tipo para variáveis (ou seja, colunas no sistema de tipos do ML.NET) armazenadas nesta linha.

Métodos

Dispose()

Implementação de descarte. Chamadas Dispose(Boolean) com true.

Dispose(Boolean)

O método descartável para o padrão descartável. Essa implementação padrão não faz nada.

GetGetter<TValue>(DataViewSchema+Column)

Retorna um delegado getter de valor para buscar o valor do determinado column, da linha. Isso gera se a coluna não estiver ativa nessa linha ou se o tipo TValue for diferente do tipo dessa coluna.

GetIdGetter()

Um getter para um valor de ID de 128 bits. É comum que objetos atendam a várias DataViewRow instâncias para iterar sobre o que deveria ser os mesmos dados, por exemplo, em um IDataView conjunto de cursores produzirá os mesmos dados que um cursor serial, apenas particionado, e um cursor embaralhado produzirá os mesmos dados que um cursor serial ou qualquer outro cursor embaralhado, apenas embaralhado. A ID existe para aplicativos que precisam reconciliar qual entrada é, na verdade, qual. Idealmente, essa ID deve ser única, mas por razões práticas, basta se colisões são simplesmente extremamente improváveis.

Observe que essa ID, embora seja consistente para vários fluxos de acordo com a semântica acima, não é considerada parte dos dados em si. Portanto, para tomar o exemplo de uma exibição de dados especificamente, uma única exibição de dados deve renderizar IDs consistentes em todos os cursores, mas não há nenhuma sugestão de que, se os dados "mesmos" foram apresentados em uma exibição de dados diferente (como por, digamos, sendo transformados, armazenados em cache, salvos ou qualquer outra coisa), que as IDs entre as duas exibições de dados diferentes teriam qualquer relação perceptível.

IsColumnActive(DataViewSchema+Column)

Retorna se a coluna fornecida está ativa nesta linha.

Aplica-se a