为什么在将String.Join与List 一起使用时使用ToArray()?
我正在尝试使用string.Join(",", strings)
组合List strings
string.Join(",", strings)
但我正在阅读的所有内容都说我应该这样做:
string.Join(",", strings.ToArray())
是否有某种原因我必须/应该使用.ToArray()
?
string.Join
从.NET 4开始只接受IEnumerable
(实际上是generics重载)。大概你正在考虑用.NET 3.5或更早版本编写的代码(或指令)。 比较重载:
-
string.Join
in .NET 3.5 -
string.Join
in .NET 4
可能是因为您正在阅读的所有内容都是为该框架的早期版本编写的。 版本4中添加了string.Join(string, IEnumerable
方法。
是否有某种原因我必须/应该使用.ToArray()?
你不必; 相反,您可能会查看在当前重载之前存在的旧代码,这些代码不需要您调用ToArray
。 接受IEnumerable
的新重载直到.NET 4.0才出现。
您不必在.Net v4及更高版本中使用.ToArray()。 在v4中,IEnumerable起了很大作用,并添加了许多扩展。
因此,如果需要使用v3.5或更低版本进行编译,则需要使用.ToArray(),但使用4.0及更高版本的代码是正确的。