如何从列表中删除项目时从列表中删除空格

本文关键字:列表 删除 空格 删除项目 | 更新日期: 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