Compartir a través de


DataViewRowCursor Clase

Definición

Clase que se usa para desplazarse por filas de .IDataView

public abstract class DataViewRowCursor : Microsoft.ML.DataViewRow
type DataViewRowCursor = class
    inherit DataViewRow
Public MustInherit Class DataViewRowCursor
Inherits DataViewRow
Herencia
DataViewRowCursor

Comentarios

Tenga en cuenta que esto también es .DataViewRow Position se incrementa en MoveNext(). Antes de la primera llamada a MoveNext(), o después MoveNext() de devolver false, Position es -1. De lo contrario, cuando MoveNext() devuelve true, Position>= 0.

Constructores

DataViewRowCursor()

Clase que se usa para desplazarse por filas de .IDataView

Propiedades

Batch

Esto proporciona un medio para la conciliación de varias filas que se han producido generalmente a partir de GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). Al obtener un conjunto, es necesario, al tiempo que se permite que el procesamiento paralelo continúe, siempre tiene el objetivo de que el orden original se pueda recuperar. Tenga en cuenta que si un usuario se preocupa o no de ese orden original en una aplicación específica es otra historia por completo (la mayoría de los autores de la llamada a esto como una cuestión práctica no lo llamarían), pero al menos en principio debería ser posible reconstruir el orden original que obtendría de una configuración idéntica GetRowCursor(IEnumerable<DataViewSchema.Column>, Random). Por lo tanto, para cualquier implementación del cursor, los números de lote deben no disminuir. Además, cualquier número de lote determinado solo debe aparecer en uno de los cursores tal y como devuelve GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). De esta manera, el orden viene determinado por el número de lote. Una operación que concilie estos cursores para generar un único cursor coherente, podría hacerlo dibujando desde el cursor único, entre todos los cursores del conjunto, que tiene el número de lote más pequeño disponible.

Tenga en cuenta que no hay ninguna sugerencia de que los lotes de una entrada determinada sean coherentes entre cursores y cursores, excepto por la coherencia, lo que da lugar a la misma ordenación general. La misma entrada podría tener números de lote diferentes de un cursor a otro. Tampoco hay ningún requisito de que aparezca ningún número de lote determinado, en absoluto. Es simplemente un mecanismo para recuperar la ordenación de una partición posiblemente arbitraria de los datos. También sigue esto, por supuesto, que considerar que el lote para ser una propiedad de los datos no es totalmente válido.

(Heredado de DataViewRow)
Position

Esto se incrementa cuando cambia el contenido subyacente, lo que proporciona a los clientes una manera de detectar cambios. Debe ser -1 cuando el objeto está en un estado donde no se pueden capturar valores. En concreto, para , DataViewRowCursoresto será antes MoveNext() si alguna vez se llama por primera vez MoveNext() , o después de llamar a y devuelve false.

Tenga en cuenta que esta posición no es posición dentro de los datos subyacentes, sino solo la posición de este cursor. Si uno, por ejemplo, abrió un conjunto de cursores de streaming paralelos o un cursor aleatorio, la primera entrada válida de este cursor siempre tendría la posición 0.

(Heredado de DataViewRow)
Schema

Obtiene un Schema, que proporciona información de nombre y tipo para variables (es decir, columnas del sistema de tipos de ML.NET) almacenadas en esta fila.

(Heredado de DataViewRow)

Métodos

Dispose()

Implementación de dispose. Llama a Dispose(Boolean) con true.

(Heredado de DataViewRow)
Dispose(Boolean)

Método descartable para el patrón descartable. Esta implementación predeterminada no hace nada.

(Heredado de DataViewRow)
GetGetter<TValue>(DataViewSchema+Column)

Devuelve un delegado de captador de valor para capturar el valor de la clase especificada column, de la fila . Esto produce si la columna no está activa en esta fila o si el tipo TValue difiere del tipo de esta columna.

(Heredado de DataViewRow)
GetIdGetter()

Captador de un valor de identificador de 128 bits. Es habitual que los objetos sirvan varias DataViewRow instancias para iterar sobre lo que se supone que son los mismos datos; por ejemplo, en un IDataView conjunto de cursores se producirán los mismos datos que un cursor serie, solo con particiones y un cursor aleatorio producirá los mismos datos que un cursor serie o cualquier otro cursor aleatorio, sólo ordenó aleatoriamente. El identificador existe para las aplicaciones que necesitan conciliar qué entrada es realmente cuál. Idealmente, este id. debe ser único, pero por motivos prácticos, basta si las colisiones son simplemente extremadamente improbables.

Tenga en cuenta que este identificador, aunque debe ser coherente para varias secuencias según la semántica anterior, no se considera parte de los datos por se. Por lo tanto, para tomar el ejemplo de una vista de datos específicamente, una sola vista de datos debe representar identificadores coherentes en todos los cursores, pero no hay ninguna sugerencia en absoluto que si los datos "iguales" se presentaran en una vista de datos diferente (por ejemplo, que se transforman, almacenan en caché, se guardan o lo que sea), que los identificadores entre las dos vistas de datos diferentes tendrían cualquier relación perceptible.

(Heredado de DataViewRow)
IsColumnActive(DataViewSchema+Column)

Devuelve si la columna especificada está activa en esta fila.

(Heredado de DataViewRow)
MoveNext()

Avance a la siguiente fila. Cuando se crea el cursor por primera vez, se debe llamar a este método para pasar a la primera fila. Devuelve false si no hay más filas.

Se aplica a