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

Сте*_*чев 4 c# tuples list

我有一个3元组List<Tuple>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"
Run Code Online (Sandbox Code Playgroud)

我想要做

//pseudocode
myTupleList.Remove("dog" in Item2);
Run Code Online (Sandbox Code Playgroud)

制作清单

Item1 | Item2 | Item3
---------------------
"bar" | "foo" | "baz"
---------------------
"fun" | "bun" | "pun"
Run Code Online (Sandbox Code Playgroud)

O. *_*per 16

看一看的RemoveAll方法List<T>.它允许您根据谓词删除项目.

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

myTupleList.RemoveAll(item => item.Item2 == "dog");
Run Code Online (Sandbox Code Playgroud)

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


Joh*_*zek 5

myTupleList.RemoveAll( p => p.Item2 == "dog");
Run Code Online (Sandbox Code Playgroud)