使用分号查询字符串数组

kam*_*ahl 1 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;
}
Run Code Online (Sandbox Code Playgroud)

什么是我的if语句,我可以在循环之前插入第一个项目并从索引1开始使用for循环,但这不会增加可读性.

你有什么建议?

Fil*_*erg 7

你可以使用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