2012-12-16 21 views
2

我有一個3元組List<Tuple>string, string, string
初始化: List<Tuple<string, string string>> myTupleList = new List<Tuple<string, string, string>>();
我基本上想搜索Item2中的值並刪除整個條目(如果找到)。
讓我想象。如果我有:C# - 如何從列表中刪除值<Tuple>

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" 

回答

13

看一看的List<T>RemoveAll method。它可以讓你根據謂詞刪除一個項目。

例如,您可以檢查只是Item2屬性,你在你的問題說:

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

注意(暗示的方法名),這將刪除符合這個條件的所有元素。因此,如果有幾個元素的Item2屬性等於"dog",它們全部將被刪除。

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