为什么在将String.Join与List <string>?</string>一起使用时使用ToArray()

时间:2012-04-10 16:38:07

标签: c#

我正在尝试使用List<string> strings合并string.Join(",", strings),但我正在读的所有内容都说我应该这样做:

string.Join(",", strings.ToArray())

是否有某些原因我必须/应该使用.ToArray()

4 个答案:

答案 0 :(得分:10)

从.NET 4开始,

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及更高版本的代码是正确的。