我正在寻找的是JavaScript的Array::join()
的基本等价物,您可以传入分隔符并在其所有下标的返回字符串中使用它。我当然可以使用StringBuilder
或诸如此类的东西来编写自己的函数,但必须是.NET BCL内置的东西。
编辑:任何的数组,不一定是string
或char
。我更喜欢这种方法只需在每个下标ToString()
上调用object
。 String.Join()
很棒,除了你传递一个字符串数组。
答案 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);