使用linq构建逗号分隔的字符串

时间:2014-01-27 17:38:20

标签: linq

我需要生成一个包含逗号分隔列表的字符串,但在最后一个元素后面没有逗号。

var x = new List<string>() { "a", "b", "c" };

应该产生:

a,b,c

是的,使用“普通”技术做一件非常简单的事情,但我希望linq有一种更优雅的方式。

var cols =context.Database.SqlQuery<String>("select Column_Name from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = {0};", prefix + table);

3 个答案:

答案 0 :(得分:2)

不需要 Linq ,只需使用String.Join

String.Join(",", new List<string>() { "a", "b", "c" });

答案 1 :(得分:0)

String类提供Join方法将字符串数组与分隔符连接。

代码:

var x = new List<string>() { "a", "b", "c" };
String.Join(",",x.ToArray());

文档:http://msdn.microsoft.com/en-us/library/57a79xd0(v=vs.110).aspx

答案 2 :(得分:0)

虽然我强烈建议您使用Siva Charan的答案,但这里的信息只是使用Enumerable.Aggregate Method (IEnumerable, Func)在LinQ中的实现:

var result = x.Aggregate((c, n) => c + "," + n);