title: Best way to append newline to string except for last
body: <p>I was looking for the best/cleanest way to iterate over a list of strings and then create a single string of those separated by newlines (except for the last). Like so:</p>
  
  <pre><code>String 1
  String 2
  String 3
  </code></pre>
  
  <p>I have written two loops here which has a newline at the end of the string (which I want to avoid) and another that does not. The one does not just doesn't seem "clean" to me. I would think there would be a simpler way to do it so that the logic is nearly as simple as in the example that has a new line to the end of the string.</p>
  
  <pre><code>List&lt;string&gt; errorMessages = new List&lt;string&gt;();
  string messages = "";
  
  //Adds newline to last string. Unwanted.
  foreach(string msg in errorMessages)
  {
      messages += msg + "\n";
  }
  
  messages = "";
  bool first = true;
  
  //Avoids newline on last string
  foreach (string msg in errorMessages)
  {
      if(first)
      {
          first = false;
          messages = msg;
      }
      else
      {
          messages += "\n" + msg;
      }
  }
  </code></pre>
  
  <p>Maybe it is wishful thinking, but I would have thought this was a common enough occurrence to warrant a better way to accomplish my goal.</p>