如何从列表中删除项目时从列表中删除空格
本文关键字:列表 删除 空格 删除项目 | 更新日期: 2023-09-27 18:32:55
我正在我的wform中读取一个文件并将其保存在列表中.我有一个按钮"删除",单击它时,列表中的一个项目(每个列表项都是文件中的一行)被删除,当我将此列表写回文件时,我删除的项目将被空行替换。
我不希望我的文件中出现这些空白行。 任何人都可以告诉我如何删除它们。
我尝试使用list.Remove(item)
从列表中删除该项目。这是我尝试过的...
ListView.CheckedListViewItemCollection chkditems = listView1.CheckedItems;
Regex regex1 = new Regex(".*'"(?<vm_name>.*)'".*:.*{.*'"vmx_path'".*:.*r?'"(?<vmx_path>.*)'",.*'"vm_base'".*:.*r?'"(?<vm_base>.*)'".*");
List<string> list_to_items = new List<string>();
foreach (ListViewItem chkitem in chkditems)
{
foreach (string line in list)
{
Match match1 = regex1.Match(line);
if (match1.Success)
{
if (match1.Groups["vm_name"].Value == chkitem.Text)
{
list_to_items.Add(line);
}
}
}
listView1.Items.Remove(chkitem);
}
foreach (string tormv in index)
{
list.Remove(tormv);
}
对于列表的示例数据,您可以认为它包含任何文本。
应该是一个注释,但是对于代码,这很困难...
我不知道你在做什么,但如果你运行这段代码,你会发现你的问题的假设是不正确的:
var list = new List<string>{"1","2","3"};
Console.WriteLine(string.Join(", ", list)); // 1, 2, 3
list.Remove("2");
Console.WriteLine(string.Join(", ", list)); // 1, 3