c# - 删除列表视图中的文本文件行但不保存 c#
问题描述
我有一个ListView加载一个带有一些电话号码的 .txt 文件,当我单击删除按钮时,它将从ListView中删除选定的行。当我单击要删除的按钮时,该按钮会删除该行,但不会将文件与更新的列表一起保存。如果被问到,我会提供更多信息。
谢谢!!
这是删除按钮
public void Deletar_lista()
{
var caminho = Directory.GetCurrentDirectory();
caminho += "\\telefones.txt";
listView1.Items.RemoveAt(listView1.SelectedIndices[0]);
}
解决方案
我这里只有一点代码可以继续,但您似乎只是从 ListView 中删除该项目。您的应用程序不会自动知道您希望它将 ListView 的更新内容保存到文件中。
为此,请尝试以下操作:
string[] lines = System.IO.File.ReadAllLines(caminho);
using (System.IO.StreamWriter writer = new System.IO.StreamWriter(caminho))
{
foreach (string line in lines)
{
if (!line.Contains(listView1.SelectedIndices[0].ToString()))
{
writer.WriteLine(line);
}
}
}
这将从文件中读取所有行,如果所选行等于您删除的条目,则不会将其写入文件。