将数组转换为简单字符串的C#方法/语法是什么?
题
我正在寻找的是JavaScript的基本等价物Array::join()
,你传递一个分隔符并在其所有下标的返回字符串中使用它。我当然可以使用StringBuilder
或诸如此类的东西来编写自己的函数,但必须是.NET BCL内置的东西。
编辑:任何的数组,不一定是string
或char
。我更喜欢这种方法只需在每个下标ToString()
上调用object
。 String.Join()
很棒,除了你传递一个字符串数组。
解决方案
如果数组包含字符串,您只需使用 String.Join()
一>。如果数组不包含字符串,则需要更复杂的内容,以便您可以处理其包含的每个项目的强制转换或转换过程。
更新:使用@ JaredPar的代码作为更通用示例的基础:
char sep = GetSeparatorChar();
object[] toJoin = GetToJoin();
string joined = toJoin.Aggregate((x,y) => x.ToString()+sep.ToString()+y.ToString());
显然你可以在那个例子中做任何你想要的x和y来让字符串看起来你想要的。
其他提示
如果String.Join没有为你做这件事 - 例如你有IEnumerable<string>
而不是string[]
或者你有其他类型的集合,请参阅这个早先的问题。
我不清楚你是否加入了一系列字符或字符串。
对于字符串
char sep = GetSeparatorChar();
string[] toJoin = GetToJoin();
string joined = toJoin.Aggregate((x,y) => x+sep.ToString()+y);
不隶属于 StackOverflow