删除txt文件中的一个回车return

Delete a carriage return in a txt file

我创建了一个使用如下所示的 txt 文件的程序:

01/11 09:56,yeo,no,110222100,no
01/11 09:55,Test,Test2,110222100,Test2
01/11 09:52,Jack,Jean,112222100,Jean
31/10 23:17,Rayane,Jean,111220000,Rayane

然后我想在这个文件中添加一行来删除它,所以我使用这个代码:

for (int i = 0; i < lignes.Count; i++)
{
    string ligne = lignes[i];
    List<string> element = ligne.Split(',').ToList();

    if (element.Contains(selectionDate[1])) //Ici on à les éléments de la ligne séléctionner
    {
        string ligneAr = null;
        lignes[i] = ligneAr;
        File.WriteAllLines(path, lignes);
    }
}

但是,当我使用这段代码时,txt 文件中会发生以下情况:

01/11 09:56,yeo,no,110222100,no
01/11 09:55,Test,Test2,110222100,Test2
01/11 09:52,Jack,Jean,112222100,Jean
31/10 23:17,Rayane,Jean,111220000,Rayane
// Empty line
31/10 22:30,Rayane,André,122120101,Rayane

文字中有漏洞。 我怎样才能删除这个洞? 允许您创建它的代码位于 if()

谢谢。

由于将 null 分配给 lignes[i],即 lignes[i] = ligneAr;,所以添加了您在问题中提到的孔。 File.WriteAllLines() 在 for 循环中,也是更新文件的错误位置。

无需拆分字符串 lignes[i],只需使用 .Where() 子句和所需条件即可获取过滤结果并将其写入文件。

有点像,

var result = lignes.Where(ligne => !ligne.Contains(selectionDate[1]));
File.WriteAllLines(path, result);