C# 插入换行符而不是CRLF

C# 插入换行符而不是CRLF,c#,C#,使用StringBuilder,在我的字符串中,我使用Environment.NewLine,当我打开它时,它显示为CRLF,在C#中是否还有其他命令,输出仅显示为“LF”而不是“CRLF” 使用转义字符“\n”而不是环境。换行符 有关转义字符列表和Environment.Newline行为,请参阅。只需编写即可 sb.Append((char)10); 或者更容易阅读 sb.Append('\n'); const char LF = '\n'; sb.Append(LF); 更具可读性

使用StringBuilder,在我的字符串中,我使用Environment.NewLine,当我打开它时,它显示为CRLF,在C#中是否还有其他命令,输出仅显示为“LF”而不是“CRLF”

使用转义字符“\n”而不是环境。换行符

有关转义字符列表和Environment.Newline行为,请参阅。

只需编写即可

sb.Append((char)10);
或者更容易阅读

sb.Append('\n');
const char LF = '\n';
sb.Append(LF);
更具可读性

sb.Append('\n');
const char LF = '\n';
sb.Append(LF);

Environment.NewLine
的存在只是为了区分Windows类的行尾(
\r\n
)和Unix风格的行尾(
\n
),因此在编写文本文件等时,您不必麻烦使用哪一个(假设您在Linux上的Mono上运行,那么您只需要
\n
,而
环境.NewLine
将包含它,因为它是由运行时设置的)


所以,当你知道你总是只想要换行符时,只需在你的代码中加入
\n
。它不会改变。

为什么?这似乎是个糟糕的主意。我的法语有点生疏,但我在你提供的MSDN链接中没有看到任何东西可以为绕过简化添加正确换行符的语言功能提供理由跨多个平台。