【发布时间】:2011-03-13 18:57:40
【问题描述】:
我有一个值为 3,99,6 的 int 数组。如何使用 linq 将数组转换为字符串 3,99,6?
【问题讨论】:
我有一个值为 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<string> 或 IEnumerable<T>。不需要创建Array,也不需要调用ToString(),隐式调用:
string s = string.Join(",", list);
显式格式化字符串:
string s = string.Join(",", list.Select(x => x.ToString(/*...*/));
【讨论】:
Stefan 的解决方案是正确的,并且非常适用于 .NET 3.5。在 .NET 4 中,有一个 overload of String.Join 需要一个 IEnumerable<string>,因此您可以使用:
string s = string.Join(",", list.Select(x => x.ToString());
甚至只是:
string s = string.Join(",", list);
【讨论】:
String.Join(",", list);