正如标题所说:为什么string.Join
需要采用数组而不是 IEnumerable?这让我很恼火,因为当我需要从 LINQ 表达式的结果创建连接字符串时,我必须添加 .ToArray() 。
我的经验告诉我,我在这里遗漏了一些明显的东西。
升级到 .NET 4.0 并使用overload http://msdn.microsoft.com/en-us/library/dd783876.aspx接受一个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());
}
}
Usage:
IEnumerable<string> strings;
Console.WriteLine(strings.Join(", "));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)