框架已经为我们做的事情真是令人惊讶。
List<int> myValues;string csv = String.Join(",", myValues.Select(x => x.ToString()).ToArray());对于一般情况:
IEnumerable<T> myList;string csv = String.Join(",", myList.Select(x => x.ToString()).ToArray());如您所见,实际上没有什么不同。请注意,如果包含逗号
x.ToString(),则可能需要用引号引起来(例如
""" + x.ToString() +""")
x.ToString()。
有关此变化的有趣读物:请参见Eric Lippert博客上的Comma
Quibbling。
注意:这是在.NET 4.0正式发布之前编写的。现在我们可以说
IEnumerable<T> sequence;string csv = String.Join(",", sequence);使用重载
String.Join<T>(string, IEnumerable<T>)。此方法将自动将每个元素投影
x到
x.ToString()。



