Linq很棒,但似乎总是让我感到困惑。
这是我最近的困惑:
说我有两个List<String>
个对象。我们会将其称为sourceList
和destList
。
我需要一种方法来查找sourceList中而不是destList中的字符串列表,并找到destList中的字符串列表,而不是SourceList中的字符串列表。
这有点令人困惑,所以这是一个例子:
sourceList destList Orange Apple Apple Grape Grape Kiwi Banana
所以我要找的第一个结果就是带有Orange的列表。第二个结果将是一张含有Kiwi和Banana的清单。
知道怎么用Linq做到这一点?
答案 0 :(得分:5)
sourceList.Except(destList)
应该获得source和dest的差异。你也可以反过来并结合起来。
答案 1 :(得分:3)
我今天早些时候才这样做。正如sukru所说,这段代码应该为你做到:
List<string> firstResultList = sourceList.Except(destList);
List<string> secondResultList = destList.Except(sourceList);
firstResultList将包含Orange,secondResultList将包含Kiwi和Banana。