这是一种在我们的框架的一部分中经常出现的模式。 给定一个字符串数组,我们必须将它们全部连接起来,由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;
}
if语句是什么,我可以在循环之前插入第一个项目并从索引1开始使用for循环,但这不会增加可读性。
你有什么建议?
答案 0 :(得分:7)
您可以使用string.Join()
:
String[] values = new String[] {"a","b","c","d"};
var concat = string.Join(", ", values);
这会产生如下情况:
a,b,c,d
答案 1 :(得分:1)
尝试:
var result = string.Join(",", values.Where(s => !string.IsNullOrEmpty(s)));