使用分号查询字符串数组

时间:2012-07-04 10:37:17

标签: c# string

这是一种在我们的框架的一部分中经常出现的模式。 给定一个字符串数组,我们必须将它们全部连接起来,由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循环,但这不会增加可读性。

你有什么建议?

2 个答案:

答案 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)));