处理不一致的行结尾

时间:2017-03-21 11:00:47

标签: c# sql-server


有时当我打开一些文件时,Visual Studio会向我显示一个关于不一致的行结尾的对话框,但Visual Studio能够规范化行结尾。
如何使用C#自行规范化文件中的行结尾(Windows CR LF)?

我从SQL Server读取存储过程的定义并将其保存到文件中。

File.WriteAllText("procedure.sql", "content");

但是当我在Visual Studio中打开文件时,会发出有关不一致行结尾的警告。当我想修改存储过程时,SQL Server Management Studio也会显示相同的警告。

1 个答案:

答案 0 :(得分:1)

如果您想要标准化为\r\n,那么这应该足够了:

string filename = "somefile.txt";
var lines = File.ReadAllLines(filename);
File.WriteAllLines(filename, lines);

(它有效,因为ReadAllLines同时接受\r\n\r\n,然后写WriteAllLines始终使用\r\n

请注意,这不会保留编码(例如,UTF8的初始BOF的存在/不存在,或者文件是否为Unicode)。该文件将以UTF8编写,不含BOM。