【问题标题】:What's an efficient way to concatenate all strings in an array, separating with a space?连接数组中所有字符串并用空格分隔的有效方法是什么?
【发布时间】:2010-10-25 10:28:39
【问题描述】:

假设我有一个字符串数组:

string[] myStrings = new string[] { "First", "Second", "Third" };

我想连接它们,所以输出是:

First Second Third

我知道我可以像这样连接它们,但中间没有空格:

string output = String.Concat(myStrings.ToArray());

我显然可以循环执行此操作,但我希望有更好的方法。

有没有更简洁的方法来做我想做的事?

【问题讨论】:

    标签: c# string concatenation


    【解决方案1】:

    试试这个:

    String output = String.Join(" ", myStrings);
    

    【讨论】:

      【解决方案2】:
      StringBuilder buf = new StringBuilder();
      foreach(var s in myStrings)
        buf.Append(s).Append(" ");
      var ss = buf.ToString().Trim();
      

      【讨论】:

      • 我很想看看它的 IL 代码和 String.Join()。我想他们是一样的。
      • 我很确定他们会做类似的事情。
      • 是的,如果他们编译成相同的东西,我不会感到惊讶。不过,对于后来遇到代码的人来说,String output = String.Join(" ", myStrings);一目了然会更容易理解。
      猜你喜欢
      • 2010-11-21
      • 2013-05-17
      • 1970-01-01
      • 1970-01-01
      • 2014-11-19
      • 1970-01-01
      • 1970-01-01
      • 2020-11-29
      • 2019-10-17
      相关资源
      最近更新 更多