2016-07-27 13 views
0

Kein Problem mit einer Schleife, aber ich frage mich, ob es eingebaute Konvertierungsfunktionen gibt, die, wenn sie zusammen verwendet werden, könnte die Daten in einem ADO.NET DataTable (das mehr als zwei Spalten enthält) in eine Dictionary<string,string> in einem Einzeiler verschieben, wobei die Spalte mit den Schlüsseln und die Spalte mit den Werten namentlich nicht Indexposition angegeben werden.Convert DataTable nach Dictionary <string, string> Angabe der beteiligten Spaltennamen, ohne foreach

Antwort

1

habe nicht getestet, aber durch die Dokumentation zu lesen:

IEnumerable<Dictionary<string, string>> dic = 
    dataTable.Rows.OfType<DataRow>() 
    .Select(row => dataTable.Columns.OfType<DataColumn>() 
        .ToDictionary(col => col.ColumnName, col => row[col] != null ? row[col].ToString() : null)); 

Sie für einen Einzeiler gefragt :)

+0

Ja, ich für ein :) Danke einzeiler fragte. Ich werde testen, wenn ich später ins Büro komme. – Tim

Verwandte Themen