相关疑难解决方法(0)

LINQ查询以查找列表中的项是否包含在另一个列表中

我有以下代码:

List<string> test1 = new List<string> { "@bob.com", "@tom.com" };
List<string> test2 = new List<string> { "joe@bob.com", "test@sam.com" };
Run Code Online (Sandbox Code Playgroud)

我需要删除test2中有@ bob.com或@ tom.com的人.

我试过的是这个:

bool bContained1 = test1.Contains(test2);
bool bContained2 = test2.Contains(test1);
Run Code Online (Sandbox Code Playgroud)

bContained1 = false但是bContained2 = true.我宁愿不遍历每个列表,而是使用Linq查询来检索数据.bContained1与我在下面创建的Linq查询的条件相同:

List<string> test3 = test1.Where(w => !test2.Contains(w)).ToList();
Run Code Online (Sandbox Code Playgroud)

上面的查询适用于完全匹配但不是部分匹配.

我查看了其他查询,但我可以找到与Linq的近似比较.任何想法或任何你可以指向我的地方都会有很大的帮助.

c# linq

50
推荐指数
4
解决办法
13万
查看次数

标签 统计

c# ×1

linq ×1