我正在尝试使用List<string> strings
合并string.Join(",", strings)
,但我正在读的所有内容都说我应该这样做:
string.Join(",", strings.ToArray())
是否有某些原因我必须/应该使用.ToArray()
?
答案 0 :(得分:10)
string.Join
才开始接受IEnumerable<string>
(实际上是泛型重载)。大概你正在考虑用.NET 3.5或更早版本编写的代码(或指令)。比较重载:
答案 1 :(得分:5)
可能是因为您正在阅读的所有内容都是为早期版本的框架编写的。版本4中添加了string.Join(string, IEnumerable<string>)
方法。
答案 2 :(得分:1)
我必须/应该使用.ToArray()吗?
你不必;相反,您可能会查看在当前超载之前存在的旧代码,这些代码不需要您调用ToArray
。接受IEnumerable<string>
的新重载在.NET 4.0之前都没有。
答案 3 :(得分:0)
您不必在.Net v4及更高版本中使用.ToArray()。在v4中,IEnumerable起了很大的作用,并且添加了很多扩展。
因此,如果需要使用v3.5或更低版本进行编译,则需要使用.ToArray(),但使用4.0及更高版本的代码是正确的。