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)
我认为意图更清晰,而且你也不会在循环中获取连接字符串的性能.