DataViewRow クラス

定義

データの論理行。 1 行 IDataView またはスタンドアロン行を指定できます。

public abstract class DataViewRow : IDisposable
type DataViewRow = class
    interface IDisposable
Public MustInherit Class DataViewRow
Implements IDisposable
継承
DataViewRow
派生
実装

コンストラクター

DataViewRow()

データの論理行。 1 行 IDataView またはスタンドアロン行を指定できます。

プロパティ

Batch

これにより、一般的 GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random)に生成された複数の行を調整する手段が提供されます。 セットを取得する場合は、並列処理を続行できる一方で、元の順序を回復可能にすることを常に目指す必要があります。 ユーザーが特定のアプリケーションでその元の順序を気にするかどうかは別の話です(実用的な問題としてこの呼び出し元のほとんどは呼び出しません。それ以外の場合は呼び出しません)が、少なくとも原則として、同じように構成された GetRowCursor(IEnumerable<DataViewSchema.Column>, Random)元の順序を再構築することが可能です。 したがって、カーソルの実装では、バッチ番号は減少しないようにする必要があります。 さらに、指定されたバッチ番号は、返される GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random)カーソルの 1 つにのみ表示する必要があります。 このようにして、注文はバッチ番号によって決定されます。 これらのカーソルを調整して一貫性のある単一カーソルを生成する操作は、使用可能なバッチ番号が最も小さいセット内のすべてのカーソルの中で、1 つのカーソルから描画することによって行うことができます。

特定のエントリのバッチがカーソルからカーソル位置に一貫性を持つという提案はありません。ただし、一貫性がある場合を除き、全体的な順序付けは同じです。 同じエントリに、カーソルを合わせて別のバッチ番号を指定できます。 また、指定されたバッチ番号を表示する必要があるという要件はまったくありません。 これは、データの任意のパーティション分割から順序を回復するためのメカニズムにすぎません。 もちろん、バッチをデータのプロパティであると考えるのは完全に無効です。

Position

これは、基になるコンテンツが変更されたときにインクリメントされ、クライアントが変更を検出する方法を提供します。 オブジェクトが値をフェッチできない状態にある場合は、-1 にする必要があります。 特に、最初DataViewRowCursorに呼び出された場合、または初めて呼び出されて返falseされた後MoveNext()に、これはMoveNext()前になります。

この位置は基になるデータ内の位置ではなく、このカーソルの位置のみであることに注意してください。 たとえば、並列ストリーミング カーソルのセットやシャッフル されたカーソルを開いた場合、そのようなカーソルの最初の有効なエントリは常に位置 0 になります。

Schema

この行に Schema格納されている変数 (ML.NET の型システムの列) の名前と型情報を提供する 、値を取得します。

メソッド

Dispose()

破棄の実装。 .を使用したtrue呼び出しDispose(Boolean)

Dispose(Boolean)

使い捨てパターンのための使い捨て可能な方法。 この既定の実装では何も行われません。

GetGetter<TValue>(DataViewSchema+Column)

行から指定 columnされた値をフェッチする値 getter デリゲートを返します。 これは、列がこの行でアクティブでない場合、または型がこの列の型 TValue と異なる場合にスローされます。

GetIdGetter()

128 ビット ID 値のゲッター。 オブジェクトが複数 DataViewRow のインスタンスにサービスを提供して、同じデータであるはずのデータを反復処理するのが一般的です。たとえば、カーソル セットでは IDataView シリアル カーソルと同じデータが生成され、パーティション分割され、シャッフルされたカーソルはシリアル カーソルまたは他のシャッフルされたカーソルと同じデータを生成します。 シャッフルのみ。 この ID は、どのエントリが実際にどのエントリであるかを調整する必要があるアプリケーションに対して存在します。 理想的には、この ID は一意である必要がありますが、実際上の理由から、衝突が非常にあり得ない場合は十分です。

この ID は、上記のセマンティクスに従って複数のストリームに対して一貫性を持たなければなりませんが、それ自体はデータの一部とは見なされないことに注意してください。 したがって、データ ビューの例を具体的に見ると、1 つのデータ ビューですべてのカーソルにわたって一貫した ID をレンダリングする必要がありますが、"同じ" データが別のデータ ビュー (変換、キャッシュ、保存など) に表示された場合、2 つの異なるデータ ビュー間の ID には識別可能なリレーションシップが存在するという提案はまったくありません。

IsColumnActive(DataViewSchema+Column)

指定した列がこの行でアクティブかどうかを返します。

適用対象