Поделиться через


DataViewRowCursor Класс

Определение

Класс, используемый для курсора через строки объекта IDataView.

public abstract class DataViewRowCursor : Microsoft.ML.DataViewRow
type DataViewRowCursor = class
    inherit DataViewRow
Public MustInherit Class DataViewRowCursor
Inherits DataViewRow
Наследование
DataViewRowCursor

Комментарии

Обратите внимание, что это также .DataViewRow Увеличивается Position на MoveNext(). До первого вызова MoveNext()или после MoveNext() возврата falsePosition имеет значение -1. В противном случае, если MoveNext() возвращается trueзначение , Position>= 0.

Конструкторы

DataViewRowCursor()

Класс, используемый для курсора через строки объекта IDataView.

Свойства

Batch

Это предоставляет средства для сверки нескольких строк, созданных в целом из GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random). При получении набора необходимо, позволяя параллельной обработке продолжаться, всегда иметь цель, чтобы исходный порядок должен быть восстановлен. Обратите внимание, заботится ли пользователь о том, что исходный порядок в конкретном приложении является другой историей в целом (большинство вызывающих этого в качестве практического вопроса не делают, в противном случае они не будут называть его), но по крайней мере в принципе можно восстановить исходный порядок, который можно получить от одинаково настроенного GetRowCursor(IEnumerable<DataViewSchema.Column>, Random). Таким образом, для любой реализации курсора номера пакетов должны не уменьшаться. Кроме того, любой указанный номер пакета должен отображаться только в одном из курсоров, возвращаемых .GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random) Таким образом порядок определяется номером пакета. Операция, которая согласовывает эти курсоры для создания согласованного одного курсора, может сделать это путем рисования из одного курсора среди всех курсоров в наборе с наименьшим доступным номером пакета.

Обратите внимание, что нет никаких предположений о том, что пакеты для определенной записи будут согласованы от курсора к курсору, за исключением согласованности, что приводит к тому, что такое же общее упорядочение. Одна и та же запись может иметь разные номера пакетов от одного курсора к другому. Кроме того, нет никаких требований, что любой указанный номер пакета должен отображаться вообще. Это просто механизм восстановления порядка из произвольного секционирования данных. Это также следует из этого, конечно, что, учитывая пакет, который является свойством данных, является абсолютно недопустимым.

(Унаследовано от DataViewRow)
Position

Это увеличивается при изменении базового содержимого, предоставляя клиентам способ обнаружения изменений. Он должен иметь значение -1, если объект находится в состоянии, где невозможно получить значения. В частности, для , DataViewRowCursorэто будет раньше MoveNext() , если когда-либо вызываться в первый раз, или после первого MoveNext() вызова и возврата false.

Обратите внимание, что эта позиция не находится в базовых данных, а только позиция этого курсора. Если один из них, например, открыл набор параллельных потоковых курсоров или курсор с перетасовкой, первая допустимая запись такого курсора всегда будет иметь позицию 0.

(Унаследовано от DataViewRow)
Schema

SchemaВозвращает значение, которое предоставляет сведения об имени и типе для переменных (т. е. столбцов в системе типов ML.NET), хранящихся в этой строке.

(Унаследовано от DataViewRow)

Методы

Dispose()

Реализация удаления. Вызовы Dispose(Boolean) с true.

(Унаследовано от DataViewRow)
Dispose(Boolean)

Одноразовый метод для утилизируемых шаблонов. Эта реализация по умолчанию ничего не делает.

(Унаследовано от DataViewRow)
GetGetter<TValue>(DataViewSchema+Column)

Возвращает делегат метода получения значения для получения значения заданного columnзначения из строки. Это вызывает исключение, если столбец не активен в этой строке или тип TValue отличается от типа этого столбца.

(Унаследовано от DataViewRow)
GetIdGetter()

Метод получения для 128-разрядного значения идентификатора. Обычно объекты служат нескольким DataViewRow экземплярам для итерации того, что должно быть одинаковыми данными, например, в IDataView наборе курсоров создаются те же данные, что и последовательный курсор, только что секционированные, и перемешанный курсор создает те же данные, что и последовательный курсор или любой другой перетасованный курсор. только перетасовывался. Идентификатор существует для приложений, которым необходимо согласовать, какая запись на самом деле является какой. В идеале этот идентификатор должен быть уникальным, но по практическим причинам достаточно, если столкновения просто чрезвычайно невероятны.

Обратите внимание, что этот идентификатор, хотя он должен быть согласован для нескольких потоков в соответствии с семантикой выше, не считается частью данных в зависимости от того, что они являются частью. Таким образом, чтобы получить пример представления данных, одно представление данных должно визуализировать согласованные идентификаторы во всех курсорах, но нет никакого предложения, что если бы "одинаковые" данные были представлены в другом представлении данных (например, преобразование, кэширование, сохранение или любое другое), что идентификаторы между двумя различными представлениями данных будут иметь какие-либо заметные связи.

(Унаследовано от DataViewRow)
IsColumnActive(DataViewSchema+Column)

Возвращает значение, указывающее, активен ли данный столбец в этой строке.

(Унаследовано от DataViewRow)
MoveNext()

Перейдите к следующей строке. При первом создании курсора этот метод должен вызываться для перемещения в первую строку. Возвращает значение false , если больше нет строк.

Применяется к