#c# #newline #portability #language-features
#c# #новая строка #переносимость #язык-особенности
Вопрос:
Файловые объекты Python теперь могут поддерживать соглашения о конце строки, отличные от того, за которым следует платформа, на которой работает Python. Открытие файла в режиме ‘U’ или ‘rU’ откроет файл для чтения в режиме универсального перевода строки. Все три соглашения о завершении строки будут переведены в «n» в строках, возвращаемых различными файловыми методами, такими как read() и readline() .
В Python 3 универсальные новые строки — это режим по умолчанию для открытия текстовых файлов. Это означает, что при открытии текстовых файлов мне вообще не нужно заботиться о соглашениях о завершении строк.
Есть ли у нас такая удобная функция в C #?
Комментарии:
Ответ №1:
StreamReader.ReadLine
делает ли это:
Строка определяется как последовательность символов, за которой следует перевод строки («n»), возврат каретки («r») или возврат каретки, за которым сразу следует перевод строки («rn»). Возвращаемая строка не содержит завершающего возврата каретки или перевода строки.
Удобные методы для чтения строк из файла, такие как File.ReadLines
и File.ReadAllLines
, используют a StreamReader
под капотом.
Я не знаю ни одного метода, который будет считывать несколько строк из файла в виде строки, но будет автоматически заменять все символы, заканчивающиеся строкой, на нормализованные n
, однако. StreamReader.ReadToEnd()
не манипулирует текстом, который он читает таким образом.
Комментарии:
1. Спасибо, для меня этого достаточно, для итерации строка за строкой. На данный момент мне не нужна часть функции «прочитать фрагмент и нормализовать».
2. На самом деле, я понял, что мне тоже понадобится что-то вроде части функции нормализации фрагментов, но, к счастью, для всего содержимого файла. Я бы просто прочитал это как строки и сам присоединился к строкам с помощью » n».