DataViewRowCursor Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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 , Positionfalse
jest -1
. W przeciwnym razie, gdy MoveNext() zwraca true
wartość , 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ść 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 |
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 |
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ść |