使用 LINQ 将数据表行转换为单行
本文关键字:转换 单行 数据表 LINQ 使用 | 更新日期: 2023-09-27 18:30:51
>我在数据表中有一列包含多行,我希望它们在一行中,并且不想遍历数据表的每一行,这是示例数据表
Results
-------
Clinet1
Clinet2
Clinet3
Clinet4
我想得到一个像这样的字符串 Clinet1,Clinet2,Clinet3,Clinet4
但使用 LINQ 而不进行循环。我尝试了下面的代码,但它对我不起作用
string Details = myDataTable.Rows
.Cast<DataRow>()
.Where(x => x["Results"].ToString();
使用 LINQ:
string Details = myDataTable.Rows.Cast<DataRow>()
.Where(x => x["Results"] == UserName)
.Select(i => i.ToString()).Aggregate((i, j) => i + "," + j)
为此使用 String.join。
string Details = String.join(",", myDataTable.Rows
.Cast<DataRow>()
.Where(x => x["Results"] == UserName).ToArray());
您可以使用
AsEnumerable
返回一个 IEnumerable<T>
对象,其中泛型参数 T
是 DataRow
,String.Join
将行联接到这样的string
中;
string rows = string
.Join(",", myDataTable.AsEnumerable()
.Select(x => x["Results"]));