Используя StringBuilder и в моей строке, я использую Environment.NewLine, когда я его открываю, он отображается как CRLF. Есть ли еще команды на С#, которые вывод отображается только как "LF", а не "CRLF"?
Вставить LineFeed вместо CRLF
Ответ 1
Просто напишите
sb.Append((char)10);
или более читаемый
sb.Append('\n');
еще более удобочитаемый
const char LF = '\n';
sb.Append(LF);
Ответ 2
Environment.NewLine
существует только для того, чтобы различаться между окончаниями строк в Windows (\r\n
) и окончанием строк в стиле Unix (\n
), поэтому при написании текстовых файлов и т.п. вам не нужно беспокоиться о том, какие один из них можно использовать (представьте, что вы работаете в Mono на Linux, тогда вы хотите просто \n
, который будет содержать Environment. NewLine
, поскольку он задан средой выполнения).
Итак, когда вы всегда знаете и хотите только символ линии, просто введите \n
в свой код. Он не изменится.
Ответ 3
Используйте экранированный символ '\n' вместо Environment.Newline
См. http://msdn.microsoft.com/en-us/library/h21280bw.aspx для списка экранированных символов и http://msdn.microsoft.com/en-us/library/system.environment.newline.aspx для поведения Environment.Newline.