使用foreach将字符串[]转换为字符串

0 c# lambda

string x;
foreach(var item in collection)
{
   x += item+",";
}
Run Code Online (Sandbox Code Playgroud)

我可以用lambdas写这样的东西吗?

Dan*_* C. 18

假设C#,你试过String.Join()吗?或者使用lambdas强制性?

例:

string[] myStrings = ....;
string result = String.Join(",", myStrings);
Run Code Online (Sandbox Code Playgroud)

编辑

虽然原始标题(和示例)是关于使用分隔符连接字符串(String.Join()在我看来最好的工作),原始海报似乎询问更广泛的解决方案:如何将自定义格式应用于字符串列表.

我对此的回答是编写自己的方法.String.Join有一个目的,由其名称反映(连接一些字符串).您的格式逻辑很有可能在您的项目中具有意义,因此请编写它,给它一个正确的名称并使用它.

例如,如果要<li>text</li>为每个项目输出,请按以下方式创建:

string FormatAsListItems(string[] myStrings)
{
    StringBuilder sb = new StringBuilder();
    foreach (string myString in myStrings)
    {
         sb.Append("<li>").Append(myString).Append("</li>");
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为意图更清晰,而且你也不会在循环中获取连接字符串的性能.


Mar*_*ell 5

string x = string.Join(",", collection);
Run Code Online (Sandbox Code Playgroud)