Esiste un modo semplice per convertire un Datatable in un array di stringhe multidimensionale?Datatable to Multidimensional Array
Forse usando LINQ
?
Ci deve essere un modo migliore di loop manualmente attraverso tutte le colonne/righe ...
Esiste un modo semplice per convertire un Datatable in un array di stringhe multidimensionale?Datatable to Multidimensional Array
Forse usando LINQ
?
Ci deve essere un modo migliore di loop manualmente attraverso tutte le colonne/righe ...
Linq è la risposta. È possibile convertire un DataTable
in IEnumerable utilizzando il metodo AsEnumerable
. Quindi, lo ToArray()
lo converte in un array.
var tableEnumerable = DataTableName.AsEnumerable();
tableArray = tableEnumerable.ToArray();
scusate, non ho mai usato LINQ prima. Sto ricevendo questo errore 'Impossibile convertire implicitamente il tipo 'System.Data.DataRow []' in 'string [*, *]'' Qualsiasi aiuto sarebbe molto apprezzato. – Greg
stai ricevendo quell'errore sulla linea che ti ho dato? In tal caso, puoi suddividerlo in parti diverse (enumerable = DataTable.asenumerable(); tablearray = enumerable.toarray();) e vedere se reagisce ancora allo stesso modo. –
@Greg Sto ottenendo lo stesso errore, anche con questa suddivisione su più righe. L'hai mai risolto? – Rachel
provare dt.Rows.Cast(). Selezionare (// datarow in stringhe)
yourTable.AsEnumerable(). Selezionare (riga => row.ItemArray) .ToArray()
vedi il mio commento sulla risposta sopra - http://stackoverflow.com/a/8932997/585552 – Greg
C'è una buona ragione per il looping, vedere http://stackoverflow.com/questions/8918157/how-do-i-convert-a-ultsults-in-a-list-of-hashtable/8918431#8918431 –
don ' pensi di ricorrere a tutti i record durante la conversione? – rerun