PDA

View Full Version : [C#] Da Dictionary a Datatable


robertino_salemi
14-10-2013, 16:33
Salve,
io ho questo Dictionary:

CHIAVE VALORE
08/10/2013,00:00:00,a,b,c,d,e,f,g,h,i
08/10/2013,00:01:00,a,b,c,d,e,f,g,h,i
08/10/2013,00:02:00,a,b,c,d,e,f,g,h,i
08/10/2013,00:03:00,a,b,c,d,e,f,g,h,i
08/10/2013,00:04:00,a,b,c,d,e,f,g,h,i
08/10/2013,00:05:00,a,b,c,d,e,f,g,h,i
08/10/2013,00:06:00,a,b,c,d,e,f,g,h,i

Dove la data e l'ora sono la mia chiave, mentre 'a,b,c,d,e,f,g,h,i' sono i miei valori.

Dovrei inserire in un dataTable il dizionario sopra indicato.

Come dovrei fare?
Utilizzare due foreach?


private static void DictonaryTodataTable (DataTable dtResult, Dictionary <DateTime, CommaSeparatedList> CSVData)
******** {
************ foreach (KeyValuePair item in <DateTime, CommaSeparatedList> CSVData)
************ {
***************** DtResult.NewRow DataRow dr = ();
****************
* [. . . CODE. . .]

**************** dtResult.Rows.Add (dr);
************ }
******** }

Riordian
15-10-2013, 09:55
usare linq?
per esempio se avessi una lista di oggetti in cui le prop sono value e key del dictionary io farei qualcosa del tipo:


// dataToInsert è di tipo List<ObjToInsert>

var dataToInsert = dictionary.Select(x => new ObjToInsert{ key = x.Key,
value = x.Value}).ToList();

per dei dataRow magari si può fare qualcosa di simile, è già un po' che non li uso.
Forse potresti inserire una Func nel select che crea la row e la aggiunge alla tabella.
Cmq anche il foreach va bene :)