我创建了一个使用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]
ie而被添加的lignes[i] = ligneAr;
。File.WriteAllLines()
在for循环内部,这也是错误的位置来更新文件。
无需拆分字符串lignes[i]
,您只需使用.Where()
带有必要条件的子句即可获取过滤结果并将其写入文件。
就像是,
var result = lignes.Where(ligne => !ligne.Contains(selectionDate[1]));
File.WriteAllLines(path, result);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句