正如标题所说:为什么string.Join
需要采用数组而不是IEnumerable?这让我很烦,因为当我需要从 LINQ 表达式的结果创建一个连接的字符串时,我必须添加一个 .ToArray() 。
我的经验告诉我,我在这里遗漏了一些明显的东西。
最佳答案
升级到 .NET 4.0 并使用 overload接受 IEnumerable<string>
.否则,只能接受这是一个长期悬而未决的问题,直到 .NET 4.0 才得到解决。您也可以通过创建自己的扩展方法来解决这个问题!
public static class StringEnumerableExtensions {
public static string Join(this IEnumerable<string> strings, string separator) {
return String.Join(separator, strings.ToArray());
}
}
用法:
IEnumerable<string> strings;
Console.WriteLine(strings.Join(", "));
关于c# - string.Join 需要采用数组而不是 IEnumerable 的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3968869/