这种模式经常出现在我们框架的一个部分中.给定一个字符串数组,我们必须连接所有这些字符串,由Semicolons分隔.
我想知道它可以用哪种优雅方式完成.我已经看到了我们的代码库中的一些变化,并且总是,当我必须这样做时,我必须重新考虑.
我目前的模式是这样的:
String[] values = new String[] {"a","b","c","d"};
String concat = String.Empty;
foreach(String s in values)
{
if(String.IsEmptyOrNullString(s) == false)
concat + = ", ";
concat += s;
}
Run Code Online (Sandbox Code Playgroud)
什么是我的if语句,我可以在循环之前插入第一个项目并从索引1开始使用for循环,但这不会增加可读性.
你有什么建议?
你可以使用string.Join():
String[] values = new String[] {"a","b","c","d"};
var concat = string.Join(", ", values);
Run Code Online (Sandbox Code Playgroud)
这将导致如下所示:
A B C D