2012-08-14 55 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); 
相關問題