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