Udostępnij za pośrednictwem


DataViewRowCursor Klasa

Definicja

Klasa używana do kursora przez wiersze elementu IDataView.

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

Uwagi

Należy pamiętać, że jest to również element DataViewRow. Wartość Position jest zwiększana o MoveNext()wartość . Przed pierwszym wywołaniem metody MoveNext(), lub po MoveNext() powrocie , Positionfalsejest -1. W przeciwnym razie, gdy MoveNext() zwraca truewartość , Position>= 0.

Konstruktory

DataViewRowCursor()

Klasa używana do kursora przez wiersze elementu IDataView.

Właściwości

Batch

Zapewnia to metodę uzgadniania wielu wierszy, które zostały wygenerowane na ogół z programu GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). W przypadku pobierania zestawu konieczne jest, przy jednoczesnym umożliwieniu przetwarzania równoległego, zawsze mają na celu możliwość odzyskania oryginalnej kolejności. Należy pamiętać, czy użytkownik dba o tę oryginalną kolejność w określonej aplikacji, jest zupełnie inną historią (większość rozmówców tego jako praktycznej sprawy nie, w przeciwnym razie nie nazwaliby go), ale przynajmniej w zasadzie powinno być możliwe odtworzenie oryginalnej kolejności, którą można uzyskać z identycznie skonfigurowanego GetRowCursor(IEnumerable<DataViewSchema.Column>, Random)elementu . Tak więc: w przypadku każdej implementacji kursora numery wsadowe powinny nie być malejące. Ponadto każda podana liczba partii powinna być wyświetlana tylko w jednym z kursorów zwróconych przez GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). W ten sposób kolejność jest określana przez numer wsadowy. Operacja, która uzgadnia te kursory w celu utworzenia spójnego pojedynczego kursora, może to zrobić, rysując z pojedynczego kursora wśród wszystkich kursorów w zestawie, który ma najmniejszą dostępną liczbę partii.

Należy pamiętać, że nie ma sugestii, że partie dla określonego wpisu będą spójne z kursorem na kursor, z wyjątkiem spójności w wyniku tego samego ogólnego porządkowania. Ten sam wpis może mieć różne numery wsadowe od jednego kursora do innego. Nie ma również wymogu, aby w ogóle pojawiał się dowolny numer partii. Jest to jedynie mechanizm odzyskiwania kolejności z prawdopodobnie dowolnego partycjonowania danych. Wynika to również z tego oczywiście, że rozważanie partii jako właściwości danych jest całkowicie nieprawidłowe.

(Odziedziczone po DataViewRow)
Position

Jest to zwiększane, gdy zawartość bazowa ulegnie zmianie, dając klientom sposób wykrywania zmian. Powinien mieć wartość -1, gdy obiekt znajduje się w stanie, w którym nie można pobrać wartości. W szczególności w przypadku DataViewRowCursor, będzie to wcześniej MoveNext() , jeśli kiedykolwiek wywołane po raz pierwszy, lub po pierwszym MoveNext() wywołaniu i zwraca wartość false.

Należy pamiętać, że ta pozycja nie znajduje się w danych bazowych, ale tylko pozycja tego kursora. Jeśli na przykład otwarto zestaw równoległych kursorów przesyłania strumieniowego lub potasowany kursor, każdy z nich pierwszy prawidłowy wpis kursora zawsze będzie miał pozycję 0.

(Odziedziczone po DataViewRow)
Schema

Pobiera element Schema, który zawiera informacje o nazwie i typie zmiennych (tj. kolumn w systemie typów ML.NET) przechowywanych w tym wierszu.

(Odziedziczone po DataViewRow)

Metody

Dispose()

Implementacja usuwania. Wywołania Dispose(Boolean) za pomocą polecenia true.

(Odziedziczone po DataViewRow)
Dispose(Boolean)

Metoda jednorazowa dla wzorca jednorazowego. Ta domyślna implementacja nic nie robi.

(Odziedziczone po DataViewRow)
GetGetter<TValue>(DataViewSchema+Column)

Zwraca delegata pobierającego wartość, aby pobrać wartość danego columnelementu z wiersza . Spowoduje to zgłoszenie, jeśli kolumna nie jest aktywna w tym wierszu lub jeśli typ TValue różni się od typu tej kolumny.

(Odziedziczone po DataViewRow)
GetIdGetter()

Element pobierający dla 128-bitowej wartości identyfikatora. Często obiekty obsługują wiele DataViewRow wystąpień w celu iterowania danych, które powinny być tymi samymi danymi, na przykład w IDataView zestawie kursorów spowoduje wygenerowanie tych samych danych co kursor szeregowy, po prostu partycjonowany, a potasowany kursor będzie generować te same dane co kursor seryjny lub dowolny inny kursor, tylko tasowane. Identyfikator istnieje dla aplikacji, które muszą uzgodnić, który wpis jest rzeczywiście który. Najlepiej, aby ten identyfikator był unikatowy, ale z praktycznych powodów wystarczy, jeśli kolizje są po prostu niezwykle nieprawdopodobne.

Należy pamiętać, że ten identyfikator, chociaż musi być spójny dla wielu strumieni zgodnie z semantyki powyżej, nie jest uważany za część danych na se se. Tak więc, aby uznać przykład widoku danych, pojedynczy widok danych musi renderować spójne identyfikatory we wszystkich kursorach, ale w ogóle nie ma sugestii, że jeśli "te same" dane zostały przedstawione w innym widoku danych (np. przez przekształcenie, zapisanie, zapisanie lub cokolwiek innego), identyfikatory między dwoma różnymi widokami danych będą miały zauważalną relację.

(Odziedziczone po DataViewRow)
IsColumnActive(DataViewSchema+Column)

Zwraca, czy dana kolumna jest aktywna w tym wierszu.

(Odziedziczone po DataViewRow)
MoveNext()

Przejdź do następnego wiersza. Po pierwszym utworzeniu kursora należy wywołać tę metodę, aby przejść do pierwszego wiersza. Zwraca wartość false , jeśli nie ma więcej wierszy.

Dotyczy