добавление разрыва строки

У меня проблема с добавлением разрыва строки в строку. Я пробовал использовать "\r\n", и Environment.NewLine тоже не работает.

FirmNames = "";

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

    FirmNames += item;
}

Кто-нибудь может помочь?


person Jenny    schedule 21.01.2011    source источник
comment
Что вы получите, если выполните Console.WriteLine(FirmNames) после цикла?   -  person BoltClock    schedule 21.01.2011
comment
На что вы выводите результирующую строку? Контроль? Консоль? Некоторые элементы управления не поддерживают разрывы строк или имеют свойства, которые необходимо настроить для разрешения разрывов строк.   -  person squillman    schedule 21.01.2011
comment
Вы должны использовать StringBuilder, так как они намного эффективнее, чем добавление string вместе   -  person Tim Cooke    schedule 31.08.2015


Ответы (6)


Как вы заметили, правильный ответ — использовать Environment.NewLine. Это зависит от среды и обеспечивает ясность по сравнению с "\r\n" (но на самом деле не имеет значения).

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

Попробуйте это.

        FirmNames = String.Join(", \n", FirmNameList);
person Aaron Weiker    schedule 21.01.2011

Это сработало для меня:

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

    FirmNames += item;
}
person Sheldon    schedule 06.04.2018

С# 6+

Кроме того, начиная с C#6, вы также можете использовать оператор static using для System.Environment.

Таким образом, вместо Environment.NewLine вы можете просто написать NewLine.

Кратко и намного проще для глаз, особенно когда есть несколько экземпляров...

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

Попробуйте использовать \n при объединении строк, как в этом примере:

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

\n в с3 работает корректно

с помощью системы; пространство имен 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");
    }
}
person Urvesh Patel    schedule 09.06.2019