-2

我如何聚合一列中的所有元素以通过 linq 获得一个字符串

例如:我有一个名为:Items 的表和名为:ListItem 的表的一列

                    ListItem
                      1
                      2
                      3

如何选择 Column ListItem 中的所有元素以具有字符串:123

(不选择列的每个值并连接在一起)

谢谢大家的帮助!!!

4

4 回答 4

0

假设您使用类型化数据作为 List 并且它具有 id 作为属性。然后将 id 聚合到一个字符串中,您可以这样做。

string.Join(" ", listofEmployees.Select(e=>e.Id));

这将像打印

1 2 3
于 2012-08-14T11:55:27.350 回答
0

您可以使用 aSelect来提取您需要的值并将它们组合成一个字符串String.Join

var table = new DataTable("Items");
table.Columns.Add(new DataColumn("LiItem", typeof(int)));
table.Rows.Add(1);
table.Rows.Add(2);
table.Rows.Add(3);

Console.WriteLine(String.Join("", table.AsEnumerable().Select(r => r["LiItem"])));

输出:

123

于 2012-08-14T11:56:39.110 回答
0

既然您说的是“聚合”,那么您可能有兴趣知道这是一个实际的 LINQ 方法:

var a = new[]{"1","2","3"};
var concatenated = a.Aggregate("",(t,s)=>t+s);
于 2012-08-14T12:01:32.537 回答
-1

我认为 string.Join 的所有答案都不完整,因为此方法需要一个字符串数组,而不是IEnumerable

这应该有效。

var data = ...
var result = string.Join(" ", data.Select(x => x.ListItem).ToArray());

这导致:

"1 2 3"
于 2012-08-14T12:14:44.427 回答