C# 从文本文件中删除选定的索引
我有一个列表框,显示文本文件中的行。我如何才能使它使我可以点击列表框中的一个项目,并将其从列表框和文本文件中删除C# 从文本文件中删除选定的索引,c#,selecteditem,selectedindexchanged,C#,Selecteditem,Selectedindexchanged,我有一个列表框,显示文本文件中的行。我如何才能使它使我可以点击列表框中的一个项目,并将其从列表框和文本文件中删除 private void Read() { string filePath = @"//Filepath"; List<String> listOfDels = viewlist.listDeliveries(); using (var streamReader = new StreamReader(fil
private void Read()
{
string filePath = @"//Filepath";
List<String> listOfDels = viewlist.listDeliveries();
using (var streamReader = new StreamReader(filePath, Encoding.Default))
{
while (!streamReader.EndOfStream)
{
listOfDels.Add(streamReader.ReadLine());
listBox1.Items.Clear();
listBox1.Items.AddRange(listOfDels.ToArray());
}
}
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{ //Remove line from txt file
}
private void Read()
{
字符串filePath=@“//filePath”;
List listOfDels=viewlist.listDeliveries();
使用(var streamReader=newstreamreader(filePath,Encoding.Default))
{
而(!streamReader.EndOfStream)
{
添加(streamReader.ReadLine());
listBox1.Items.Clear();
listBox1.Items.AddRange(listOfDels.ToArray());
}
}
}
私有无效列表框1\u SelectedIndexChanged(对象发送方,事件参数e)
{//从txt文件中删除行
}
为什么每次读一行时都要清除项
?如果要在我添加更多项时更新,我认为你做错了什么。您正在向列表中添加数据,然后立即清除列表--多次。将Clear和AddRange调用移到while循环之外。我知道这可能“技术上”是错误的,但它暂时有效。我只想知道如何通过选定的索引删除一行。因此,您只需调用File.ReadAllLines(filePath)
。这不会返回错误,但也不会执行任何操作:S
string tempFile = Path.GetTempFileName();
using(var sr = new StreamReader("file.txt"))
{
using(var sw = new StreamWriter(tempFile))
{
string line;
while((line = sr.ReadLine()) != null)
{
if(line != "removeme")
sw.WriteLine(line);
}
}
}
File.Delete("file.txt");
File.Move(tempFile, "file.txt");