2012-08-14 56 views
-2

我怎么能集中所有的元素在一列字符串通过LINQ我怎么能集中所有的元素在一列有由LINQ

例如有一个字符串: 我有一个名为表:项目和一列命名表:列表项

    ListItem 
         1 
         2 
         3 

如何选择在列列表项的所有元素有串:123

(不选择列的每个值,并一起加入)

Tks for everyone's help !!!

+0

-1很琐碎的问题,谷歌搜索会采取更少的时间比键入它。 – 2012-08-14 12:37:06

回答

-1

我想用的string.join所有答案都因为这种方法不完全需要数组字符串,而不是IEnumerable

这应该工作。

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

这导致:

"1 2 3" 
+0

需要很多。它完成了:D – aloha 2012-08-14 12:19:08

+0

String.Join不再需要数组,并且接受一个I​​Enumerable,至少从.Net 4.0开始。 – sloth 2012-08-14 12:19:09

0

假设您使用类型化数据作为列表,它具有id作为属性。然后将这些ID聚合成一个字符串,你可以这样做。

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

会打印出像

1 2 3 
0

可以使用Select提取您需要的值,并将其与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"]))); 

输出合并为一个字符串:

0

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

var a = new[]{"1","2","3"}; 
var concatenated = a.Aggregate("",(t,s)=>t+s); 
相关问题