在 C# 中,如果您执行类似 string newLine = Environment.NewLine;
的操作并检查 newLine
的值,您会发现它是 "\r\n”
。但是,如果我做类似的事情;
string[] test = new string[] { "one", "two", "three" };
Console.WriteLine("With plain slash n:");
Console.Write(String.Join("\n", test));
Console.WriteLine("\nWith Environment.NewLine:");
Console.Write(String.Join(Environment.NewLine, test));
输出在功能上是相同的。
为什么 Environment.NewLine
设置为 \r\n
而不是 \n
?这不会使从字符串转换为字符数组变得更加困难吗?我还阅读了一些内容,这让我相信某些输入字段不会将 Environment.NewLine
计为两个字符,如果您的支持字段被限制为输入字段的长度,这可能会导致问题。有什么积极的理由吗?在这一点上它只是遗留问题吗?
最佳答案
Environment.NewLine 的作用是返回平台的换行符。大概对于 Linux 或 Unix 上的 .NET 框架的实现,它只会返回\n。
关于c# - 为什么 Environment.NewLine = "\r\n"而字符串文字中的 "\n"功能相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20622345/