LinQ查询将列名与值连接并转换为列表

时间:2015-11-20 22:55:32

标签: c# linq

我有一个表格数据如下所示,我将把它填入DataTable。

EmpID     EmpName
  1        John
  2         Doe 
  3        Mary

我希望将每条记录转换为List(列名与每行的值连接),例如。该列表将包含以下3个项目:

EmpID: 1 Empname: John
EmpID: 2 Empname: Doe
EmpID: 3 Empname: Mary

有人可以告诉我如何使用LinQ实现这一目标吗?

2 个答案:

答案 0 :(得分:0)

也许这会对你有所帮助。尝试将DataTable转换为列表。 DataTable into a generic list然后使用foreach来浏览所有数据。这也应该对您有所帮助DataTable using LINQ

答案 1 :(得分:0)

试试这个:

var dt = new DataTable();
dt.Columns.Add("EmpID", typeof(int));
dt.Columns.Add("EmpName", typeof(string));
var dr = dt.NewRow();
dr.ItemArray = new object[] { 1, "John" };
dt.Rows.Add(dr);
dr = dt.NewRow();
dr.ItemArray = new object[] { 2, "Doe" };
dt.Rows.Add(dr);
dr = dt.NewRow();
dr.ItemArray = new object[] { 3, "Mary" };
dt.Rows.Add(dr);

var query =
    dt
        .AsEnumerable()
        .Select(x => String.Format(
            "EmpID: {0} EmpName: {1}",
            x.Field<int>(0),
            x.Field<string>(1)))
        .ToList();