我需要生成一个包含逗号分隔列表的字符串,但在最后一个元素后面没有逗号。
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);
答案 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);