DataViewRowCursor Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Třída používaná k kurzoru mezi řádky IDataView.
public abstract class DataViewRowCursor : Microsoft.ML.DataViewRow
type DataViewRowCursor = class
inherit DataViewRow
Public MustInherit Class DataViewRowCursor
Inherits DataViewRow
- Dědičnost
Poznámky
Všimněte si, že to je také DataViewRow. Zvýší se Position o MoveNext()hodnotu . Před prvním voláním nebo MoveNext()po MoveNext() návratu false
Position je -1
. V opačném případě vrátí hodnotu MoveNext()true
= Position>0.
Konstruktory
DataViewRowCursor() |
Třída používaná k kurzoru mezi řádky IDataView. |
Vlastnosti
Batch |
To poskytuje způsob, jak shodovat více řádků, které byly vytvořeny obecně z GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). Při získávání sady je potřeba a současně umožnit paralelní zpracování pokračovat, vždy mít cíl, že původní objednávka by měla být obnovitelná. Všimněte si, zda se uživatel stará o původní pořadí v jedné konkrétní aplikaci, je zcela jiný příběh (většina volajících to není praktické, jinak by ho nezavolali), ale alespoň v zásadě by mělo být možné rekonstruovat původní pořadí, které by získal z identicky nakonfigurovaného GetRowCursor(IEnumerable<DataViewSchema.Column>, Random). Takže: pro libovolnou implementaci kurzoru by měla být čísla dávek nespadající. Kromě toho by se každé dané číslo dávky mělo objevit pouze v jednom z kurzorů, které GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random)vrátí . Tímto způsobem je pořadí určeno číslem dávky. Operace, která tyto kurzory odsouhlasí za účelem vytvoření konzistentního jediného kurzoru, může to udělat tak, že nakreslíte jeden kurzor mezi všemi kurzory v sadě, které má k dispozici nejmenší číslo dávky. Všimněte si, že neexistuje žádný návrh, že dávky pro určitou položku budou konzistentní od kurzoru po kurzor, s výjimkou konzistence, což vede ke stejnému celkovému pořadí. Stejná položka může mít různá čísla dávek od jednoho kurzoru po jinou. Neexistuje také žádný požadavek, aby se vůbec zobrazovalo jakékoli číslo dávky. Je to pouze mechanismus pro obnovení pořadí z potenciálně libovolného dělení dat. Z toho samozřejmě vyplývá, že vzhledem k dávce jako vlastnosti dat je zcela neplatná. (Zděděno od DataViewRow) |
Position |
To se zvýší, když se podkladový obsah změní, což klientům umožňuje zjistit změnu. Pokud je objekt ve stavu, ve kterém nelze načíst hodnoty, musí být -1. Zejména pro DataViewRowCursor, to bude dříve MoveNext() , pokud kdy volána poprvé, nebo po prvním zavolání MoveNext() a vrátí Všimněte si, že tato pozice není umístěná v podkladových datech, ale pouze na pozici tohoto kurzoru. Pokud jste například otevřeli sadu kurzorů paralelního streamování nebo přemíchaný kurzor, každá z nich by měla vždy pozici 0. (Zděděno od DataViewRow) |
Schema |
SchemaZíská hodnotu , která poskytuje informace o názvu a typu pro proměnné (tj. sloupce v systému typů ML.NET) uložené v tomto řádku. (Zděděno od DataViewRow) |
Metody
Dispose() |
Implementace vyřazení. Hovory Dispose(Boolean) s |
Dispose(Boolean) |
Jednorázová metoda pro jednorázový vzor. Tato výchozí implementace nic nedělá. (Zděděno od DataViewRow) |
GetGetter<TValue>(DataViewSchema+Column) |
Vrátí delegáta getter hodnoty pro načtení hodnoty dané |
GetIdGetter() |
Getter pro hodnotu 128bitového ID. Je běžné, že objekty obsluhují více DataViewRow instancí, aby iterovaly to, co by mělo být stejná data, například v IDataView sadě kurzorů vytvoří stejná data jako sériový kurzor, jen dělený a prohazovaný kurzor vytvoří stejná data jako sériový kurzor nebo jakýkoli jiný zamíchaný kurzor. jen promíchal. ID existuje pro aplikace, které potřebují odsouhlasit, která položka je skutečně která. V ideálním případě by toto ID mělo být jedinečné, ale z praktických důvodů stačí, pokud jsou kolize prostě extrémně nepravděpodobná. Všimněte si, že toto ID, i když musí být konzistentní pro více datových proudů podle sémantiky výše, se nepovažuje za součást dat za sekundu. Pokud tedy chcete použít příklad zobrazení dat konkrétně, musí jedno zobrazení dat vykreslit konzistentní ID napříč všemi kurzory, ale vůbec neexistuje žádný návrh, že pokud by se "stejná" data zobrazovala v jiném zobrazení dat (například transformována, uložena, uložena nebo libovolně), že ID mezi dvěma různými zobrazeními dat by měla jakýkoli rozpoznatelný vztah. (Zděděno od DataViewRow) |
IsColumnActive(DataViewSchema+Column) |
Vrátí, zda je daný sloupec v tomto řádku aktivní. (Zděděno od DataViewRow) |
MoveNext() |
Přejděte na další řádek. Při prvním vytvoření kurzoru by se tato metoda měla volat, aby se přesunula na první řádek. Vrátí se, |