Конвертировать DataTable в список - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть этот DataTAble

DataTable dt = new DataTable();
dt.Columns.Add("A");
dt.Columns.Add("B");
dt.Rows.Add("1", "5");
dt.Rows.Add("6", "10");
dt.Rows.Add("11", "15");

Как я могу преобразовать этот DataTable, чтобы получить список вроде этого

List<string> dtList= new List<string> { "1", "5", "6", "10", "11", "15" };

Ответы [ 3 ]

0 голосов
/ 17 сентября 2018

Преобразовать в DataRow[] сначала Select, затем SelectMany, чтобы сгладить массив объектов.Наконец, преобразуйте каждое значение object в string

var list = dt.Select().SelectMany(row => row.ItemArray).Select(x=> (string)x).ToList()
0 голосов
/ 17 сентября 2018

Попробуйте это:

    DataTable dt = new DataTable();
    dt.Columns.Add("A");
    dt.Columns.Add("B");
    dt.Rows.Add("1", "5");
    dt.Rows.Add("6", "10");
    dt.Rows.Add("11", "15");
    var output = dt.Rows.Cast<DataRow>().SelectMany(x => new[] { x[0], x[1] }).ToList();

Редактировать: добавлено .ToList ();

0 голосов
/ 17 сентября 2018

Использование SelectMany:

List<string> dtList= dt.AsEnumerable()
    .SelectMany(r=> new[]{ r.Field<string>("A"), r.Field<string>("B") })
    .ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...