如何從另一個列表中減去一個列表?C#從另一個列表中減去一個列表或檢查一個列表是否完全包含在另一個列表中
List<string> l1 = new List<string> { "abc", "abc", "abc", "def" };
List<string> l2 = new List<string> { "abc" };
var r = l1.Except(l2).ToList();
這樣做的結果R => 「DEF」 代替R => 「ABC」, 「ABC」, 「DEF」。 我的意思是,第二個列表只包含「abc」一次。所以我想只刪除第一個列表中的「abc」的一個實例。
Btw:有沒有辦法檢查一個列表是否完全包含在另一個列表中? 當list1只包含「abc」一次,list2包含「abc」兩次,list2不包含在list1中時的含義。 Except
不適用於多個值。
如果第二個列表包含兩個「abc」實例,應該從第一個列表中刪除兩個實例嗎? – SergeyS
是的,確切地說。雖然我不確定,但當有4x「abc」時會發生什麼情況。也許某種錯誤。 –