Есть ли в C # что-то похожее на универсальные переводы Python - PullRequest
1 голос
/ 13 апреля 2019

Файловые объекты Python теперь могут поддерживать соглашения об окончании строки, отличные от того, за которым следует платформа, на которой работает Python.Открытие файла с режимом «U» или «rU» откроет файл для чтения в универсальном режиме новой строки.Все три соглашения об окончании строк будут преобразованы в "\ n" в строках, возвращаемых различными методами файлов, такими как read () и readline ().

https://docs.python.org/2.3/whatsnew/node7.html

В Python 3 универсальные символы новой строки являются режимом по умолчанию для открытия текстовых файлов. Это означает, что при открытии текстовых файлов мне вообще не нужно заботиться о соглашениях о завершении строк.

Есть ли у нас такая удобная функция, какэто в C # тоже?

1 Ответ

3 голосов
/ 13 апреля 2019

StreamReader.ReadLine делает это:

Строка определяется как последовательность символов, за которой следует перевод строки ("\ n"), возврат каретки ("\ r") или возврат каретки, за которым сразу следует перевод строки ("\ r \ n «). Возвращаемая строка не содержит завершающего возврата каретки или перевода строки.

Удобные методы для чтения строк из файла, такие как File.ReadLines и File.ReadAllLines, используют StreamReader под капотом.

Я не знаю ни одного метода, который будет считывать несколько строк из файла в виде строки, но молча заменяет все символы конца строки на нормализованный \n. StreamReader.ReadToEnd() не манипулирует текстом, который читает таким образом.

...