我对c#还比较陌生。我需要删除文本文件的第一行,然后用剩余的文本覆盖该文件。
我无法获得与原始格式匹配的输出:
MyFile:
This is unwanted line 0
This is line 1
This is line 2
This is line 3
This is line 4
当我尝试这个:
string[] lines = pathToMyFile
.Split(Environment.NewLine.ToCharArray())
.Skip(1)
.ToArray();
// Using a newline as the separator
string myOutput = string.Join(Environment.NewLine, lines);
MessageBox.Show(myOutput);
我得到以下输出:
This is line 1
This is line 2
This is line 3
This is line 4
但如果我尝试这个:
string[] lines = pathToFile
.Split(Environment.NewLine.ToCharArray())
.Skip(1)
.ToArray();
// Using "" instead of a newline as a separator
string myOutput = string.Join("", lines);
MessageBox.Show(myOutput);
我得到这个:
This is line 1This is line 2This is line 2This is line 3This is line 4
我如何才能在每行之间没有空格的情况下输出每一行?
如果您想将CrLf
字符串视为单个"字符";在拆分中(并且希望保留任何现有的空行(,最向后兼容的方法是使用string[] Split (string[], StringSplitOptions)
重载:
string[] lines = pathToMyFile
.Split(new string[] {Environment.NewLine}, StringSplitOptions.None)
.Skip(1)
.ToArray();