我有一个带有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"
答案 0 :(得分:13)
查看List<T>
的{{3}}。它允许您根据谓词删除项目。
例如,您可以检查Item2
属性,正如您在问题中所述:
myTupleList.RemoveAll(item => item.Item2 == "dog");
请注意(如方法名称所示),这将删除符合此条件的所有元素。因此,如果有多个元素的Item2
属性等于"dog"
,则所有元素都将被删除。
答案 1 :(得分:2)
myTupleList.RemoveAll( p => p.Item2 == "dog");