为什么在使用字符串时使用 ToArray().使用列表<字符串>连接

本文关键字:字符串 列表 连接 ToArray 为什么 | 更新日期: 2023-09-27 18:30:34

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

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

我必须/应该使用.ToArray()有某种原因吗?

为什么在使用字符串时使用 ToArray().使用列表<字符串>连接

string.Join从.NET 4开始才开始接受IEnumerable<string>(实际上是泛型重载)。大概您正在查看使用 .NET 3.5 或更早版本编写的代码(或指令)。比较重载:

  • .NET 3.5 中的string.Join
  • .NET 4 中的string.Join

可能是因为你正在阅读的所有内容都是为早期版本的框架编写的。 版本 4 中添加了 string.Join(string, IEnumerable<string>) 方法。

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

不必这样做;相反,您可能会查看在当前重载之前存在的旧代码,这些代码不需要您调用ToArray。接受IEnumerable<string>的新重载直到 .NET 4.0 才出现。

您不必使用 ..Net v4 及更高版本中的 ToArray()。 在 v4 中,IEnumerable 扮演着重要的角色,并添加了很多扩展。

因此,如果需要使用 v3.5 或更低版本进行编译,您将需要使用 .ToArray(),但使用 4.0 及更高版本,您的代码是正确的。