DataTable使用LINQ行转换为单行

时间:2016-01-18 07:26:11

标签: c# linq datatable

我在DataTable中有一个包含多行的列,我想要它们在一行中,并且不想循环遍历数据表的每一行, 这是样本数据表

Results
-------
Clinet1
Clinet2
Clinet3
Clinet4

我想得到一个字符串 Clinet1,Clinet2,Clinet3,Clinet4但是没有for循环使用LINQ。 我尝试了下面的代码,但它不适合我

string Details = myDataTable.Rows
                              .Cast<DataRow>()
                              .Where(x => x["Results"].ToString();

3 个答案:

答案 0 :(得分:0)

请使用String.join

string Details = String.join(",", myDataTable.Rows
                              .Cast<DataRow>()
                              .Where(x => x["Results"] == UserName).ToArray());

答案 1 :(得分:0)

您可以使用AsEnumerable返回IEnumerable<T>对象,其中通用参数TDataRowString.Join将行连接为{{1}像这样;

string

答案 2 :(得分:0)

使用LINQ:

string Details = myDataTable.Rows.Cast<DataRow>()
.Where(x => x["Results"] == UserName)
.Select(i => i.ToString()).Aggregate((i, j) => i + "," + j)