DataTables
配列に変換する必要があるものがたくさんありobject[,]
ます(配列ではありません object[][]
)。パフォーマンスの観点からこれを行う最も効率的な方法は何ですか?
最初にビルドしてobject[dt.Rows.Count, dt.Columns.Count]
から行をループし、各行を配列内の場所に解析することでこれを実行できることはわかっていますが、Linq や System.Data 固有の機能を使用するなど、他の方法があると確信してdataRow.ToItemArray()
います。より効率的になります。
MyDataTables
は可変サイズで、文字列に加えて、適切にフォーマットする必要がある日付と数値の両方が含まれています。
たとえば、データ テーブルの 1 つに
ID 名前 日付 値 1 レイチェル 2013 年 1 月 1 日 00:00:00 100.0000 2 ジョセフ 2012 年 3 月 31 日 00:00:00 50.0000 3 サラ 2013 年 2 月 28 日 00:00:00 75.5000
次にobject[,]
、まったく同じデータ (理想的にはヘッダー付き) を含む配列が必要ですが、フォーマットされた日付と値が含まれています。
arr[x,0] = row[x].Field<int>("Id");
arr[x,1] = row[x].Field<string>("Name");
arr[x,2] = row[x].Field<DateTime>("Date").ToString("M/d/yy");
arr[x,3] = row[x].Field<decimal>("Value").ToString("C2"); // Currency format