Bagikan melalui


DataViewRowCursor Kelas

Definisi

Kelas yang digunakan untuk kursor melalui baris dari IDataView.

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

Keterangan

Perhatikan bahwa ini juga merupakan DataViewRow. Position dinaikkan oleh MoveNext(). Sebelum panggilan pertama ke MoveNext(), atau setelah MoveNext() mengembalikan false, Position adalah -1. Jika tidak, saat MoveNext() mengembalikan true, Position>= 0.

Konstruktor

DataViewRowCursor()

Kelas yang digunakan untuk kursor melalui baris dari IDataView.

Properti

Batch

Ini menyediakan sarana untuk merekonsiliasi beberapa baris yang telah diproduksi umumnya dari GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). Saat mendapatkan set, ada kebutuhan untuk, sambil memungkinkan pemrosesan paralel untuk melanjutkan, selalu memiliki tujuan bahwa pesanan asli harus dapat dipulihkan. Perhatikan, apakah pengguna peduli atau tidak tentang urutan asli dalam aplikasi spesifik seseorang adalah cerita lain sama sekali (sebagian besar pemanggil ini sebagai masalah praktis tidak, jika tidak mereka tidak akan menyebutnya), tetapi setidaknya pada prinsipnya seharusnya dimungkinkan untuk merekonstruksi urutan asli yang akan didapatkan seseorang dari yang dikonfigurasi GetRowCursor(IEnumerable<DataViewSchema.Column>, Random)secara identik . Jadi: untuk implementasi kursor apa pun, angka batch harus tidak menurun. Selain itu, setiap nomor batch yang diberikan hanya boleh muncul di salah satu kursor seperti yang dikembalikan oleh GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). Dengan cara ini, urutan ditentukan oleh nomor batch. Operasi yang merekonsiliasi kursor ini untuk menghasilkan kursor tunggal yang konsisten, dapat melakukannya dengan menggambar dari kursor tunggal, di antara semua kursor dalam set, yang memiliki nomor batch terkecil yang tersedia.

Perhatikan bahwa tidak ada saran bahwa batch untuk entri tertentu akan konsisten dari kursor ke kursor, kecuali untuk konsistensi dalam menghasilkan urutan keseluruhan yang sama. Entri yang sama bisa memiliki nomor batch yang berbeda dari satu kursor ke kursor lainnya. Juga tidak ada persyaratan bahwa nomor batch yang diberikan harus muncul, sama sekali. Ini hanyalah mekanisme untuk memulihkan pemesanan dari pemartisian data yang mungkin semena-mena. Ini juga mengikuti dari ini, tentu saja, yang mempertimbangkan batch menjadi properti data benar-benar tidak valid.

(Diperoleh dari DataViewRow)
Position

Ini bertahas ketika konten yang mendasar berubah, memberi klien cara untuk mendeteksi perubahan. Seharusnya -1 ketika objek berada dalam status di mana nilai tidak dapat diambil. Secara khusus, untuk DataViewRowCursor, ini akan sebelum MoveNext() jika pernah dipanggil untuk pertama kalinya, atau setelah pertama kali MoveNext() dipanggil dan mengembalikan false.

Perhatikan bahwa posisi ini tidak berada dalam data yang mendasar, tetapi posisi kursor ini saja. Jika satu, misalnya, membuka sekumpulan kursor streaming paralel, atau kursor yang diacak, setiap entri kursor pertama yang valid akan selalu memiliki posisi 0.

(Diperoleh dari DataViewRow)
Schema

SchemaMendapatkan , yang menyediakan informasi nama dan jenis untuk variabel (yaitu, kolom dalam sistem jenis ML.NET) yang disimpan dalam baris ini.

(Diperoleh dari DataViewRow)

Metode

Dispose()

Implementasi pembuangan. Dispose(Boolean) Panggilan dengan true.

(Diperoleh dari DataViewRow)
Dispose(Boolean)

Metode sekali pakai untuk pola sekali pakai. Implementasi default ini tidak melakukan apa pun.

(Diperoleh dari DataViewRow)
GetGetter<TValue>(DataViewSchema+Column)

Mengembalikan delegasi getter nilai untuk mengambil nilai yang diberikan column, dari baris. Ini melemparkan jika kolom tidak aktif di baris ini, atau jika jenisnya TValue berbeda dari jenis kolom ini.

(Diperoleh dari DataViewRow)
GetIdGetter()

Getter untuk nilai ID 128-bit. Adalah umum bagi objek untuk melayani beberapa DataViewRow instans untuk melakukan iterasi atas apa yang seharusnya menjadi data yang sama, misalnya, dalam IDataView kumpulan kursor akan menghasilkan data yang sama dengan kursor serial, hanya dipartisi, dan kursor yang diacak akan menghasilkan data yang sama dengan kursor serial atau kursor acak lainnya, hanya diacak. ID ada untuk aplikasi yang perlu merekonsiliasi entri mana yang sebenarnya. Idealnya ID ini harus unik, tetapi untuk alasan praktis, cukup jika tabrakan sangat tidak mungkin.

Perhatikan bahwa ID ini, meskipun harus konsisten untuk beberapa aliran sesuai dengan semantik di atas, tidak dianggap sebagai bagian dari data per detik. Jadi, untuk mengambil contoh tampilan data secara khusus, satu tampilan data harus merender ID yang konsisten di semua kursor, tetapi tidak ada saran sama sekali bahwa jika data "sama" disajikan dalam tampilan data yang berbeda (seperti, katakanlah, diubah, di-cache, disimpan, atau apa pun), bahwa ID antara dua tampilan data yang berbeda akan memiliki hubungan yang dapat dilihat.

(Diperoleh dari DataViewRow)
IsColumnActive(DataViewSchema+Column)

Mengembalikan apakah kolom yang diberikan aktif dalam baris ini.

(Diperoleh dari DataViewRow)
MoveNext()

Lanjutkan ke baris berikutnya. Ketika kursor pertama kali dibuat, metode ini harus dipanggil untuk berpindah ke baris pertama. Mengembalikan false jika tidak ada baris lagi.

Berlaku untuk