Превратить динамическую таблицу данных в список<словарь <строка, строка >>
Я хочу элегантный способ получить DataTable, как этот:
И превратить это в:
List<Dictionary<string,string>> values = dataTable.ToDictionary();
Каждый словарь в списке соответствует строке. Словарь содержит значения строки, где ключ - это имя столбца, а значение - значение столбца.
Метод должен поддерживать динамическое количество столбцов и имен.
1 ответ
Решение
Вам нужно превратить каждую строку в словарь:
// Iterate through the rows...
table.AsEnumerable().Select(
// ...then iterate through the columns...
row => table.Columns.Cast<DataColumn>().ToDictionary(
// ...and find the key value pairs for the dictionary
column => column.ColumnName, // Key
column => row[column] as string // Value
)
)