2011-09-06 66 views
0

什么是执行枢轴的LINQ方式,以便将行转换为一个字符串?LINQ选择单行

例如

一个选择产生:

a 
b 
c 

将显示为:

a,b,c 

回答

5

这听起来像是你只是想string.Join

var results = string.Join(",", values); 

无需LINQ的。请注意,.NET 4比以前的版本有更多的重载string.Join - 所以如果你使用的是.NET 3.5,你可能需要这样的东西:

var results = string.Join(",", values.Select(x => x.ToString()).ToArray()); 
+0

感谢乔恩。我猜这将是确保有一个前导字符的最好方法:value.Count()> 0?“,”:“”+ string.Join(“,”,values.Select(x => x.ToString( ))ToArray的())。 – sgtz

+0

@sgtz:这不太清楚你的意思。你是说你想要一个空的序列映射到“,”而不是“”?如果是这样,我可以编辑 - 你根本不需要使用字符串连接。 –

+0

列表a b c映射到“,a,b,c”。空列表映射为空字符串或null。空字符串似乎更方便。使用三元组很容易做到这一点......但是现在我试图尽可能多地使用更多的LINQ +扩展方法。 – sgtz