将列表转换为连接的整数字符串?
我有一个值为3,99,6的int数组。 如何使用linq将数组转换为字符串3,99,6
?
int[] list = new [] {3, 99, 6}; string s = string.Join(",", list.Select(x => x.ToString()).ToArray());
编辑,C#4.0
使用C#4.0,还有另一个string.Join
重载,它最终允许直接传递IEnumerable
或IEnumerable
。 无需创建数组,也无需调用ToString()
,它是隐式调用的:
string s = string.Join(",", list);
使用显式格式化为字符串:
string s = string.Join(",", list.Select(x => x.ToString(/*...*/));
Stefan的解决方案是正确的,而.NET 3.5几乎是必需的。 在.NET 4中,有一个String.Join
的重载,它接受一个IEnumerable
所以你可以使用:
string s = string.Join(",", list.Select(x => x.ToString());
甚至只是:
string s = string.Join(",", list);