0

こんにちは、csv ファイルの解析に FileHelperEngine を使用しています。

FileHelperEngine csvEngine = new FileHelperEngine(typeof (Model));
Model[] lines= csvEngine.ReadFile(fileName) as Model[];

列の順序がModelオブジェクトのプロパティの順序と一致する場合、これは正常に機能します。すべてのcsvファイルの最初の行にヘッダーがあります。しかし、ヘッダーの順序がモデルのプロパティと同じでない場合、問題があります...

csv列の順序がモデルオブジェクトと同じ順序でない場合、どのように機能しますか?

4

1 に答える 1

2

2 つのクラスを使用する必要があります。1 つModelは FileHelpers レコード クラスで、もう 1 つは CSV ファイルの単なる仕様です。パブリック フィールドのみを含み (プロパティは含まない)、フィールドは CSV ファイルと同じ順序にする必要があります。(FileHelpers レコード クラスは、ベスト コーディング プラクティスに従うべき通常の C# クラスと見なすべきではありません。インポート ファイルの構造を記述するための単なる構文です。)

Model[]次に、ファイルを配列に読み取ったら、それを列挙してModelObject、FileHelpers クラスではなく、プロパティを任意の順序で持つことができる 2 番目のクラスにフィールドをマップします。

于 2013-03-12T22:38:34.260 に答える