2013-03-19 40 views
1

我有这样的问题:提取列表<>从列表<>

List<string> a = {"aa","aaa","aaaa"} 
List<string> b = {"bb","bbb","bbbb"} 

我做a.AddRange(b)后,我需要从列表中提取列表B,要把它就像开始,用相同的元素。 我该怎么做?

+0

是的,我知道,我尝试的元素数量Concat的列表A和列表B,某些操作后,我想像开始时一样拥有这2列表(相同数量的元素和相同的元素)。但是,RainbowFish的答案是有用的。THX – user2154679 2013-03-19 10:57:57

回答

2

你总是可以遍历列表B,从列表中删除的每个项目:

b.ForEach(item => a.Remove(item)); 
+0

啊,超级。非常感谢。 – user2154679 2013-03-19 10:52:44

+0

不要忘记,如果'a'中有任何与'b'中的元素相同的元素,这会导致您的问题。 – MadSkunk 2013-03-19 10:54:17

+0

是的,我会关心这一点,但是目前我没有这种情况.. – user2154679 2013-03-19 10:59:31