[c#] adding line break

I have a problem with adding line break in a string. I have tried using "\r\n", and Environment.NewLine also does not work.

FirmNames = "";

foreach (var item in FirmNameList)
{
    if (FirmNames != "")
    {
       FirmNames += ", " + LineBreak;  -- I want a line break here after the comma ","
    }

    FirmNames += item;
}

Can anyone help?

This question is related to c# line-breaks

The answer is


\n in c3 working correctly

using System; namespace testing2

public class Test { 
    public static void Main(string[] args) {
        Console.WriteLine("Enter your name");
        String s = Console.ReadLine();
        Console.WriteLine("Your name is " + s + "\n" + "Thank You");
    }
}

The correct answer is to use Environment.NewLine, as you've noted. It is environment specific and provides clarity over "\r\n" (but in reality makes no difference).

foreach (var item in FirmNameList) 
{
    if (FirmNames != "")
    {
        FirmNames += ", " + Environment.NewLine;
    }
    FirmNames += item; 
} 

C# 6+

In addition, since c#6 you can also use a static using statement for System.Environment.

So instead of Environment.NewLine, you can just write NewLine.

Concise and much easier on the eye, particularly when there are multiple instances ...

using static System.Environment;
   
FirmNames = "";
foreach (var item in FirmNameList)
{
    if (FirmNames != "")
    {
       FirmNames += ", " + NewLine;
    }
    FirmNames += item;
}

This worked for me:

foreach (var item in FirmNameList){
    if (FirmNames != "")
    {
        FirmNames += ",\r\n"
    }

    FirmNames += item;
}

Try using \n when concatenating strings, as in this example:

var name = "Raihan";
var ID = "1234";
Console.WriteLine(name + "\n" + ID);

string[] abcd = obj.show(); 

Response.Write(string.join("</br>", abcd));

Give this a try.

        FirmNames = String.Join(", \n", FirmNameList);