0

これは、ハードコーディングされた Linq Joins を使用して手動で実行できることを知っています。ただし、私が持っている.csvファイルの数が多いため、これを一括で行うためのエレガントな方法を考え出したいと思います.

コード:

var dir = Directory.EnumerateFiles(@"C:\IIP_2\", "*.csv", SearchOption.AllDirectories);
var dtCombined = new DataTable();
var lst = new List<DataTable>();

foreach (var v in dir) { lst.Add(GetCSVRows(v, true)); }

//Take List<DataTable> and combine into dtCombined ????

おそらく Lambda ステートメントを使用して、このリストを 1 つに結合するにはどうすればよいですか?

前もって感謝します !

4

1 に答える 1

3

これはうまくいきますか?DataTables のリストの使用を完全に避けることができるはずです。

foreach (var v in dir) 
{ 
    dtCombined.Merge(GetCSVRows(v, true)); 
}

GetCSVRows を を返すように変更すると、より高速なLoadIDataReader使用できます

foreach (var v in dir) 
{ 
    dtCombined.Load(GetCSVRows(v, true)); 
}
于 2012-06-28T16:34:19.007 に答える