.jpg)
从 or 创建以逗号分隔的字符串值列表的最干净方法是什么?IList<string>IEnumerable<string>
String.Join(...)在 so 上操作 当 OR 等类型无法轻松转换为字符串数组时,使用起来可能很麻烦。string[]IList<string>IEnumerable<string>

网友回答:
仅供参考,.NET 4.0 版本有一些额外的重载,它们适用于而不仅仅是数组,包括可以处理任何类型的数组:string.Join()IEnumerableT
public static string Join(string separator, IEnumerable<string> values)
public static string Join<T>(string separator, IEnumerable<T> values)

网友回答:
.NET 4+
IList<string> strings = new List<string>{"1","2","testing"};
string joined = string.Join(",", strings);
细节和Pre .Net 4.0解决方案
IEnumerable<string>可以使用 LINQ (.NET 3.5) 非常轻松地转换为字符串数组:
IEnumerable<string> strings = ...;
string[] array = strings.ToArray();
如果需要,编写等效的帮助程序方法非常简单:
public static T[] ToArray(IEnumerable<T> source)
{
return new List<T>(source).ToArray();
}
然后这样称呼它:
IEnumerable<string> strings = ...;
string[] array = Helpers.ToArray(strings);
然后,您可以调用 。当然,您不必使用帮助程序方法:string.Join
// C# 3 and .NET 3.5 way:
string joined = string.Join(",", strings.ToArray());
// C# 2 and .NET 2.0 way:
string joined = string.Join(",", new List<string>(strings).ToArray());
后者虽然?有点拗口
这可能是最简单的方法,而且性能也相当高——关于性能到底是什么样子还有其他问题,包括(但不限于)这个。
从 .NET 4.0 开始,中提供了更多重载,因此您实际上只需编写:string.Join
string joined = string.Join(",", strings);
简单?得多

网友回答:
我可以看到最简单的方法是使用 LINQ 方法:Aggregate
string commaSeparatedList = input.Aggregate((a, x) => a + ", " + x)
模板简介:该模板名称为【从 IList