将数组转换为简单字符串的C#方法/语法是什么?

时间:2008-10-20 19:06:37

标签: c# .net arrays string join

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

编辑:任何的数组,不一定是stringchar。我更喜欢这种方法只需在每个下标ToString()上调用objectString.Join()很棒,除了你传递一个字符串数组。

3 个答案:

答案 0 :(得分:3)

如果数组包含字符串,则可以使用String.Join()。如果数组不包含字符串,则需要更复杂的内容,以便您可以处理其包含的每个项目的强制转换或转换过程。

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

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

显然你可以在那个例子中做任何你想要的x和y来让字符串看起来你想要的。

答案 1 :(得分:1)

如果String.Join没有为你做这件事 - 例如您有IEnumerable<string>而不是string[],或者您有其他类型的集合,请参阅this earlier question

答案 2 :(得分:0)

我不清楚你是否加入了一系列字符或字符串。

对于字符串


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