在C#中将<long>列为逗号分隔的字符串

Joh*_*sky 16 c# string list

这通常会出现.我有一个List,我想去一个逗号分隔的列表,列出我可以在SQL中使用的列表中的所有元素.

在C#中最优雅的方法是什么?迭代所有这些都很好,除了第一个或最后一个元素必须是特殊的,因为我不想要前导或尾随逗号.

有一个很好的单行程?

Jam*_*acs 32

string.Join是你的朋友......

var list = new List<long> {1, 2, 3, 4};
var commaSeparated = string.Join(",", list);
Run Code Online (Sandbox Code Playgroud)


Mat*_*ott 13

List<long> items = // init here
string result = string.Join(", ", items.Select(i => i.ToString()).ToArray());
Run Code Online (Sandbox Code Playgroud)

不确定它是否是最优雅的方式,但它是一个1班轮!

现在还有一个string.Join接受一个IEnumerable<T>,所以它变得更短:

string result = string.Join(", ", items);
Run Code Online (Sandbox Code Playgroud)

由于类型推断,您不需要指定 Join<long>