将列表<int>转换为连接的整数字符串?

15 c# linq arrays

我有一个值为3,99,6的int数组.如何3,99,6使用linq 将数组转换为字符串?

Ste*_*ger 23

int[] list = new [] {3, 99, 6};
string s = string.Join(",", list.Select(x => x.ToString()).ToArray());
Run Code Online (Sandbox Code Playgroud)

编辑,C#4.0

使用C#4.0,还有另一个重载string.Join,最终允许传递IEnumerable<string>IEnumerable<T>直接传递.无需创建数组,也无需调用ToString(),隐式调用:

string s = string.Join(",", list);
Run Code Online (Sandbox Code Playgroud)

使用显式格式化为字符串:

string s = string.Join(",", list.Select(x => x.ToString(/*...*/));
Run Code Online (Sandbox Code Playgroud)


Jon*_*eet 12

Stefan的解决方案是正确的,而.NET 3.5几乎是必需的.在.NET 4中,有一个重载String.Join需要IEnumerable<string>你可以使用:

string s = string.Join(",", list.Select(x => x.ToString());
Run Code Online (Sandbox Code Playgroud)

甚至只是:

string s = string.Join(",", list);
Run Code Online (Sandbox Code Playgroud)