Превратить динамическую таблицу данных в список<словарь <строка, строка >>

Я хочу элегантный способ получить 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
    )
)
Другие вопросы по тегам