You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用LINQ方法语法筛选两个List<string>中的目标元素

使用LINQ方法语法筛选不包含指定元素的列表项

没问题,这事儿用LINQ的方法语法就能轻松搞定,核心思路是用Where过滤列表,结合All来判断当前项是否不包含partialMessagesList中的任何元素。

先看完整的代码实现:

var fullMessagesList = new List<string>(){ "This is Apple", "This is mango", "This is a Lemon", "This is a Orange" };
var partialMessagesList = new List<string>(){ "Apple", "mango" };

// LINQ方法语法实现筛选
var filteredList = fullMessagesList
    .Where(fullMsg => partialMessagesList.All(partialMsg => !fullMsg.Contains(partialMsg)))
    .ToList();

// 验证结果
foreach (var item in filteredList)
{
    Console.WriteLine(item);
}
// 输出:
// This is a Lemon
// This is a Orange

代码解释:

  • Where(fullMsg => ...):遍历fullMessagesList中的每一项,记作fullMsg
  • partialMessagesList.All(partialMsg => !fullMsg.Contains(partialMsg)):判断当前的fullMsg是否不包含partialMessagesList里的任何一个元素——All方法会检查集合中所有元素都满足指定条件,这里的条件就是fullMsg不包含当前遍历到的partialMsg
  • 最后用ToList()把筛选后的结果转换成List<string>类型

这样就完美替代了foreach循环的逻辑,代码更简洁可读性也更强~

内容的提问来源于stack exchange,提问作者Mysterious Jack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:26:50