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()之前或返回falseMoveNext()Position-1。 否则,返回时MoveNext()truePosition>= 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()调用并返回false之后,它将之前MoveNext()

请注意,此位置不在基础数据中,而只是此游标的位置。 例如,如果一个打开一组并行流式处理游标或随机游标,则每个此类游标的第一个有效条目将始终具有位置 0。

(继承自 DataViewRow)
Schema

获取一个 Schema,它为存储在此行的 ML.NET 类型系统) 中的列 (变量提供名称和类型信息。

(继承自 DataViewRow)

方法

Dispose()

释放的实现。 使用 . 调用 Dispose(Boolean)true

(继承自 DataViewRow)
Dispose(Boolean)

可释放模式的可释放方法。 此默认实现不执行任何操作。

(继承自 DataViewRow)
GetGetter<TValue>(DataViewSchema+Column)

返回一个值 getter 委托,用于从行中提取给定 column的值。 如果此行中列未处于活动状态,或者该类型 TValue 与此列的类型不同,则引发此情况。

(继承自 DataViewRow)
GetIdGetter()

128 位 ID 值的 getter。 对象通常提供多个 DataViewRow 实例来循环访问应该是相同的数据,例如, IDataView 在游标集中,将生成与串行游标相同的数据,只是分区,随机游标将生成与串行游标或任何其他随机游标相同的数据, 只洗牌了 应用程序存在 ID,这些应用程序需要协调实际哪个条目。 理想情况下,此 ID 应是唯一的,但出于实际原因,如果冲突只是极不可能的,就足够了。

请注意,此 ID 虽然必须根据上述语义对多个流保持一致,但并不被视为数据本身的一部分。 因此,若要具体采用数据视图的示例,单个数据视图必须在所有游标中呈现一致的 ID,但没有任何建议,即,如果不同数据视图中显示“相同”数据 (,例如,转换、缓存、保存或任何) ,则两个不同数据视图之间的 ID 将具有任何可辨别的关系。

(继承自 DataViewRow)
IsColumnActive(DataViewSchema+Column)

返回给定列是否在此行中处于活动状态。

(继承自 DataViewRow)
MoveNext()

前进到下一行。 首次创建游标时,应调用此方法以移动到第一行。 如果没有更多行,则返回 false

适用于