我很确定这是一个重复的问题,但我已经尝试了一切,似乎仍然无法找到差异。我有两个字符串列表:listA和listB。我正在尝试查找不在B中的listA项。
例如: listA: "1", "2", "4", "7" listB: "2", "4" 我想要的输出是:"1","7"
下面是我尝试过的for循环和lambda表达式,但是这些需要很长时间:
例如: listA: "1", "2", "4", "7" listB: "2", "4" 我想要的输出是:"1","7"
下面是我尝试过的for循环和lambda表达式,但是这些需要很长时间:
//these two approaches take too long for huge lists
foreach (var item in listA)
{
if (!listB.Contains(item))
diff.Add(id);
}
diff = listA.Where(id => !listB.Contains(id)).ToList();
//these don't give me the right differences
listA.Except(listB).ToList();
var set = new HashSet<string>(listA);
set.SymmetricExceptWith(listB);
var diff=listA.Except(listB).ToList();
- Tim.TanglistA.Except(listB).ToList()
的工作正常。请发布能够重现问题的代码。 - Sriram Sakthivel