删除列表<字符串[]>中的对象

本文关键字:对象 删除列 列表 字符串 删除 | 更新日期: 2023-09-27 18:30:47

我有以下列表:

List<string[]> filmlist = new List<string[]>();

该列表包含类似

string[] row = { "0", "1", "2", "3", "4", "5", "6", Convert.ToString(filmcounter) };

我想删除此列表中具有特定值的电影计数器的项目。

谢谢!

删除列表<字符串[]>中的对象

如果像您的附加评论所澄清的那样,您想删除包含特定"电影计数器"的整行,您可以做一些不同的事情。

因此,使用此示例数据:

List<string[]> filmlist = new List<string[]>()
{
    new[] { "0", "1", "2", "3", "4", "5", "6" },
    new[] { "0", "1", "2", "3", "4", "5", "6" },
    new[] { "0", "1", "2", "3", "4", "5", "7" },
};
string filmcounter = "6";

删除包含指定电影计数器值的所有行:

filmlist.RemoveAll(x => x.Contains(filmcounter));

要仅删除包含特定电影计数器值的第一行,请执行以下操作:

int index = filmlist.FindIndex(x => x.Contains(filmcounter));
if (index != -1)
    filmlist.RemoveAt(index);

第二个示例中的 FindIndex 将返回包含 filmcounter 值的第一个索引。然后,我们可以使用此索引删除该行。如果没有匹配项,它将返回 -1。

foreach(String value in filmlist){
    filmlist.Remove(value);
}

检查 C# 方法 Remove(),它正是您想要的。