Как написатьAllLines в С# без CRLF

Я использую С# и пытаюсь вывести несколько строк в файл ASCII. Проблема, с которой я сталкиваюсь, заключается в том, что мой Linux-хост видит эти файлы как:

ASCII text, with CRLF line terminators

Мне нужен этот файл:

ASCII text

CRLF вызывает некоторые проблемы, и я надеялся, что на С# есть способ просто создать файл, отформатированный так, как я хочу.

В основном я использую этот код:

string[] lines = { "Line1", "Line2" };
File.WriteAllLines(myOutputFile, lines, System.Text.Encoding.UTF8);

Есть ли простой способ создать файл без терминалов линии CRLF? Возможно, я позабочусь об этом на стороне Linux, но скорее хотел бы создать файл в правильном формате с самого начала.

Ответ 1

Предполагая, что вы по-прежнему хотите разрывы строк, вам просто нужны линейные каналы вместо возврата каретки/линии, вы можете использовать:

File.WriteAllText(myOutputFile, string.Join("\n", lines));

или если вам определенно нужен разрыв строки после последней строки:

File.WriteAllText(myOutputFile, string.Join("\n", lines) + "\n");

(Альтернативно, как вы говорите, вы можете исправить это на стороне Linux, например dos2unix.)