#c# #string
#c# #строка
Вопрос:
Как мне изменить символ новой строки по умолчанию с стиля Windows rn
на стиль Unix n
? В идеале я каким-то образом меняю среду и делаю это глобально, поэтому мне не нужно изменять кучу кода string / textwriter.
Ответ №1:
К сожалению, это на самом деле не выполнимо. Основным способом, с помощью которого разработчики встраивают новые строки в свои приложения, является использование Enviornment.NewLine
. Это статическое свойство, которое возвращает новые строки в стиле окна
public static string NewLine {
get {
return "rn";
}
}
Невозможно изменить возврат этого свойства из вашего кода.
Ваш лучший вариант для изменения новых окончаний строк — разработать библиотеку, которая преобразует известные источники встраивания новых строк Windows в unix. Например, конвертер потоков и строк, вероятно, будет в порядке.
Комментарии:
1. Итак, в основном, выполните поиск и замените или удалите grep-запись / r / n, прежде чем помещать файл на диск. Я не считываю эти значения, а создаю их на лету из XML-источников. Возможно, существует простая перегрузка, которую я мог бы использовать для классов StringBuilder или TextBuilder?
2. @MichaelDorgan К сожалению, я не знаю о перегрузке. По сути, вам придется реализовывать их в основном с нуля. Но да, общей стратегией было бы найти окончания Windows и заменить их в потоке / строке на лету
3. По крайней мере, у меня есть хороший момент в коде для этой записи, прежде чем записывать текстовый файл. Спасибо за быстрые и своевременные ответы.