我有以下代码:
List<string> test1 = new List<string> { "@bob.com", "@tom.com" };
List<string> test2 = new List<string> { "joe@bob.com", "test@sam.com" };
我需要删除 test2 中拥有@bob.com 或@tom.com 的任何人。
我试过的是这样的:
bool bContained1 = test1.Contains(test2);
bool bContained2 = test2.Contains(test1);
bContained1 = false
但是bContained2 = true
。我不希望遍历每个列表,而是使用 Linq 查询来检索数据。bContained1 与我在下面创建的 Linq 查询的条件相同:
List<string> test3 = test1.Where(w => !test2.Contains(w)).ToList();
上面的查询适用于完全匹配但不是部分匹配。
我查看了其他查询,但我可以找到与 Linq 的密切比较。您可以指出我的任何想法或任何地方都会有很大帮助。