什么';s用于将数组转换为简单字符串的C#方法/语法

本文关键字:字符串 简单 方法 语法 转换 用于 数组 什么 | 更新日期: 2023-09-27 17:48:48

我想要的是JavaScript的Array::join()的基本等价物,通过它可以传入一个分隔符,并将其用于所有下标的返回字符串。我当然可以使用StringBuilder之类的东西编写自己的函数,但必须内置在.NET BCL中。

EDIT:任何的数组,不一定是stringchar。我更喜欢在每个下标object上简单地调用ToString()的方法。String.Join()很好,只是你给它传递了一个字符串数组。

什么';s用于将数组转换为简单字符串的C#方法/语法

如果数组包含字符串,则可以使用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);