Search code examples
c#.netline-breaks

How to insert newline in string literal?


In .NET I can provide both \r or \n string literals, but there is a way to insert something like "new line" special character like Environment.NewLine static property?


Solution

  • Well, simple options are:

    • string.Format:

      string x = string.Format("first line{0}second line", Environment.NewLine);
      
    • String concatenation:

      string x = "first line" + Environment.NewLine + "second line";
      
    • String interpolation (in C#6 and above):

      string x = $"first line{Environment.NewLine}second line";
      

    You could also use \n everywhere, and replace:

    string x = "first line\nsecond line\nthird line".Replace("\n",
                                                             Environment.NewLine);
    

    Note that you can't make this a string constant, because the value of Environment.NewLine will only be available at execution time.