Share via


DataViewRow Classe

Définition

Ligne logique de données. Peut être une ligne d’une IDataView ou d’une ligne autonome.

public abstract class DataViewRow : IDisposable
type DataViewRow = class
    interface IDisposable
Public MustInherit Class DataViewRow
Implements IDisposable
Héritage
DataViewRow
Dérivé
Implémente

Constructeurs

DataViewRow()

Ligne logique de données. Peut être une ligne d’une IDataView ou d’une ligne autonome.

Propriétés

Batch

Cela permet de réconcilier plusieurs lignes qui ont été produites généralement à partir de GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). Lors de l’obtention d’un ensemble, il est nécessaire, tout en autorisant le traitement parallèle à continuer, toujours avoir un objectif que l’ordre d’origine doit être récupérable. Notez que l’utilisateur se soucie ou non de cet ordre d’origine dans l’application spécifique d’un autre article (la plupart des appelants de cette question pratique ne l’appellent pas, sinon ils ne l’appellent pas), mais au moins dans le principe, il devrait être possible de reconstruire l’ordre d’origine qu’on obtiendrait à partir d’une configuration identique GetRowCursor(IEnumerable<DataViewSchema.Column>, Random). Ainsi : pour toute implémentation de curseur, les numéros de lot doivent être non décroissants. En outre, tout numéro de lot donné ne doit apparaître que dans l’un des curseurs retourné par GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). De cette façon, l’ordre est déterminé par nombre de lots. Une opération qui rapproche ces curseurs pour produire un curseur unique cohérent, peut le faire en dessinant à partir du curseur unique, parmi tous les curseurs du jeu, qui a le plus petit nombre de lots disponible.

Notez qu’il n’existe aucune suggestion indiquant que les lots d’une entrée particulière seront cohérents entre le curseur et le curseur, à l’exception de la cohérence résultant du même ordre global. La même entrée peut avoir des nombres de lots différents d’un curseur vers un autre. Il n’est également pas nécessaire qu’un numéro de lot donné apparaisse, à tout le monde. Il s’agit simplement d’un mécanisme de récupération de l’ordre à partir d’un partitionnement éventuellement arbitraire des données. Il s’agit également de ce qui suit, bien sûr, que si le lot doit être une propriété des données est complètement non valide.

Position

Cela est incrémenté lorsque le contenu sous-jacent change, ce qui permet aux clients de détecter les modifications. Il doit être -1 lorsque l’objet est dans un état où les valeurs ne peuvent pas être extraites. En particulier, pour un DataViewRowCursor, cela sera avant MoveNext() si jamais appelé pour la première fois, ou après la première fois MoveNext() est appelée et retourne false.

Notez que cette position n’est pas position dans les données sous-jacentes, mais que la position de ce curseur est uniquement. Si un, par exemple, a ouvert un ensemble de curseurs de streaming parallèles ou un curseur déchiffré, chaque entrée valide de ce curseur aurait toujours la position 0.

Schema

Obtient un Schemanom et des informations de type pour les variables (c’est-à-dire les colonnes du système de type ML.NET) stockées dans cette ligne.

Méthodes

Dispose()

Implémentation de la suppression. Appels Dispose(Boolean) avec true.

Dispose(Boolean)

Méthode jetable pour le modèle jetable. Cette implémentation par défaut ne fait rien.

GetGetter<TValue>(DataViewSchema+Column)

Retourne un délégué getter de valeur pour extraire la valeur de l’élément donné column, à partir de la ligne. Cela lève si la colonne n’est pas active dans cette ligne ou si le type diffère du type TValue de cette colonne.

GetIdGetter()

Getter pour une valeur d’ID 128 bits. Il est courant que les objets servent plusieurs DataViewRow instances à itérer sur ce qui est censé être les mêmes données, par exemple, dans un IDataView jeu de curseurs, produisent les mêmes données qu’un curseur série, juste partitionné, et un curseur aléatoire produit les mêmes données qu’un curseur série ou tout autre curseur aléatoire, seulement déchiffré. L’ID existe pour les applications qui doivent réconcilier l’entrée qui est en fait celle-ci. Dans l’idéal, cet ID doit être unique, mais pour des raisons pratiques, il suffit si les collisions sont simplement extrêmement improbables.

Notez que cet ID, même s’il doit être cohérent pour plusieurs flux en fonction de la sémantique ci-dessus, n’est pas considéré comme faisant partie des données par se. Par conséquent, pour prendre l’exemple d’une vue de données en particulier, une vue de données unique doit afficher des ID cohérents sur tous les curseurs, mais il n’existe aucune suggestion à tous que si les données « identiques » ont été présentées dans une vue de données différente (comme par exemple, transformer, mettre en cache, enregistré ou quoi que ce soit), que les ID entre les deux vues de données différentes auraient une relation visible.

IsColumnActive(DataViewSchema+Column)

Retourne si la colonne donnée est active dans cette ligne.

S’applique à