Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从Windows更改为Unix样式的行尾标记?_C#_String - Fatal编程技术网

C# 如何从Windows更改为Unix样式的行尾标记?

C# 如何从Windows更改为Unix样式的行尾标记?,c#,string,C#,String,如何将默认换行符从Windows\r\n更改为Unix样式\n?理想情况下,我会以某种方式改变环境,并在全局范围内完成,这样我就不需要修改一堆字符串/文本编写器代码 不幸的是,这不是真正可行的。开发人员在应用程序中嵌入新行的主要方法是使用environment.NewLine。这是一个静态属性,返回窗口样式的新行 public static string NewLine { get { return "\r\n"; } } 无法修改从代码返回的此属性 更改新行结尾的最佳选择是

如何将默认换行符从Windows
\r\n
更改为Unix样式
\n
?理想情况下,我会以某种方式改变环境,并在全局范围内完成,这样我就不需要修改一堆字符串/文本编写器代码

不幸的是,这不是真正可行的。开发人员在应用程序中嵌入新行的主要方法是使用
environment.NewLine
。这是一个静态属性,返回窗口样式的新行

public static string NewLine {
  get { 
    return "\r\n";
  }
}
无法修改从代码返回的此属性


更改新行结尾的最佳选择是开发一个库,该库将嵌入Windows新行的已知源转换为unix新行。例如,流和字符串转换器可能是有序的

不幸的是,这不是真正可行的。开发人员在应用程序中嵌入新行的主要方法是使用
environment.NewLine
。这是一个静态属性,返回窗口样式的新行

public static string NewLine {
  get { 
    return "\r\n";
  }
}
无法修改从代码返回的此属性


更改新行结尾的最佳选择是开发一个库,该库将嵌入Windows新行的已知源转换为unix新行。例如,流和字符串转换器可能是有序的

因此,基本上,在将文件放入磁盘之前,先搜索并替换或删除/r/n的写操作。我不是在中读取这些值,而是从XML源动态创建它们。也许有一个简单的重载,我可以使用StringBuilder或TextBuilder类吗?@MichaelOrganger不幸的是,我没有意识到重载。基本上,您必须从头开始实现它们。但是,是的,一般的策略是在flyBleh上的流/字符串中找到windows的结尾并替换它们-至少在编写文本文件之前,我有一个很好的代码点。感谢您快速及时的回答。因此,基本上,在将文件放入磁盘之前,搜索并替换或删除/r/n的写入内容。我不是在中读取这些值,而是从XML源动态创建它们。也许有一个简单的重载,我可以使用StringBuilder或TextBuilder类吗?@MichaelOrganger不幸的是,我没有意识到重载。基本上,您必须从头开始实现它们。但是,是的,一般的策略是在flyBleh上的流/字符串中找到windows的结尾并替换它们-至少在编写文本文件之前,我有一个很好的代码点。感谢您快速及时的回答。