Является ли \n эквивалентным Environment.NewLine в.NET?

Возможный дубликат:
Разница между "\n" и окружающей средой.NewLine

Всем привет!

Как я понимаю, когда мы используем . символ в строке формата для двойного, это не означает "точка", это фактически означает "десятичный разделитель, используемый в текущей среде", поэтому, если мы работаем с не-американскими настройками культуры, вывод может быть 2,00 вместо 2.00, Это очень удобно.

Теперь, это также верно для \n (LF) специальный символ? Станет ли это System.Environment.NewLine символ, когда строка формата анализируется или будет всегда 0x0A значение независимо от настроек системы? Environment.NewLine это довольно многословно, и мне интересно, могу ли я просто использовать \n безопасно вместо.

Заранее спасибо.

5 ответов

Решение

Это может быть ваш ответ Разница между "\n" и Environment.NewLine

Смысл его использования для переносимости между ОС

http://msdn.microsoft.com/en-us/library/system.environment.newline.aspx

Строка, содержащая "\r\n" для не-Unix-платформ, или строка, содержащая "\n" для Unix-платформ.

Если вам не нравится печатать System.Environment.NewLine установить локальную переменную к этому значению.

string n = System.Environment.NewLine;
string stringWithStuff = "text!" + n + "moretext!";

Вы, вероятно, должны знать, что авторы текста имеют NewLine собственность тоже

т.е.

using System;

//  ...
Console.Write("eenie{0}meenie{0}minie{0}moe", Console.NewLine);
Console.Out.Write("eenie{0}meenie{0}minie{0}moe", Console.Out.NewLine);
Console.Error.Write("eenie{0}meenie{0}minie{0}moe", Console.Error.NewLine);

Я не слишком уверен с точки зрения головы, будет ли это всегда по определению System.Environment.NewLine, Ср документы

Ссылка на свойство Environment.NewLine:

Строка, содержащая "\r\n" для не-Unix-платформ, или строка, содержащая "\n" для Unix-платформ.

Также:

Значение свойства NewLine является константой, настроенной специально для текущей платформы и реализации.NET Framework.

NewLine можно использовать вместе с поддержкой перевода новой строки для конкретного языка, например, с помощью escape-символов "\ r" и "\n" в Microsoft C# и C/C++ или vbCrLf в Microsoft Visual Basic.

Другие вопросы по тегам