改行コードはOSによって扱い方が異なるため、吐き出したテキストファイルを使用する環境によって使い方を分ける必要があります。まとめると以下のようになります。
Console.WriteLine("\r\n"); //CRLF → Windows
Console.WriteLine("\r"); //CR → Linux
Console.WriteLine("\n"); //LF → Unix
UNIXでは “LF” を、Linuxでは “CR” が使われ、CRは「キャリッジ・リターン」、LFは「ライン・フィールド」の省略です。またWindowsでは両者がくっついたような “CRLF” がデフォルトとなっていいます。
System 名前空間内の Environment クラスで定義されている NewLine プロパティは、Windows で認識する改行コード「CRLF」に該当するので注意が必要です。クライアントサイドではWPF等を使用して、サーバーサイドが Linux などで構築するような場合、使用する改行コードはOSに適合したものを利用する必要があります。