4

我正在寻找的是 JavaScript 的基本等价物Array::join(),您可以传入分隔符并将其用于所有下标的返回字符串。我当然可以使用 a 或诸如此类的东西编写自己的函数StringBuilder,但 .NET BCL 中必须有一些内置的东西。

编辑:任何东西的数组,不一定是stringor char。我更喜欢简单地调用ToString()每个 subscript的方法objectString.Join()很好,只是你传递了一个字符串数组。

4

3 回答 3

3

如果数组包含字符串,您可以只使用String.Join(). 如果数组不包含字符串,您将需要一些更复杂的东西,以便您可以处理它包含的每个项目的转换或转换过程。

更新:使用@JaredPar 的代码作为更通用示例的基础:

char sep = GetSeparatorChar();
object[] toJoin = GetToJoin();
string joined = toJoin.Aggregate((x,y) => x.ToString()+sep.ToString()+y.ToString());

显然,您可以在该示例中对 x 和 y 做任何您想做的事情,以使字符串看起来像您想要的那样。

于 2008-10-20T19:07:36.353 回答
1

如果 String.Join 不适合您 - 例如,您有 anIEnumerable<string>而不是 astring[]或者您有其他类型的集合,请参阅这个较早的问题

于 2008-10-20T19:28:24.127 回答
0

我不清楚您是否要加入字符数组或字符串数​​组。

对于字符串


char sep = GetSeparatorChar();
string[] toJoin = GetToJoin();
string joined = toJoin.Aggregate((x,y) => x+sep.ToString()+y);
于 2008-10-20T19:09:15.600 回答