C# - 如何从List <tuple> </tuple>中删除值

时间:2012-12-16 14:44:37

标签: c# list tuples

我有一个带有List<Tuple>的3元组string, string, string 初始化: List<Tuple<string, string string>> myTupleList = new List<Tuple<string, string, string>>();
我基本上想要在Item2中搜索一个值,如果找到则删除整个条目 让我想象一下。如果我有:

Item1 | Item2 | Item3
---------------------
"bar" | "foo" | "baz"
---------------------
"cat" | "dog" | "sun"
---------------------
"fun" | "bun" | "pun"

我想要做

//pseudocode
myTupleList.Remove("dog" in Item2);

制作名单

Item1 | Item2 | Item3
---------------------
"bar" | "foo" | "baz"
---------------------
"fun" | "bun" | "pun"

2 个答案:

答案 0 :(得分:13)

查看List<T>的{​​{3}}。它允许您根据谓词删除项目。

例如,您可以检查Item2属性,正如您在问题中所述:

myTupleList.RemoveAll(item => item.Item2 == "dog");

请注意(如方法名称所示),这将删除符合此条件的所有元素。因此,如果有多个元素的Item2属性等于"dog",则所有元素都将被删除。

答案 1 :(得分:2)

myTupleList.RemoveAll( p => p.Item2 == "dog");