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

技术问询:使用LINQ查找string类型List1中存在于List2的元素及移除私有代码

使用LINQ查找两个字符串集合的交集元素

嘿,这就帮你搞定这两个需求:

一、用LINQ筛选list1中存在于list2的元素

有两种实用的方式可以实现这个功能,根据你的需求选就行:

  • 方法1:用Intersect直接求交集
    这是LINQ专门为集合交集场景设计的方法,简洁高效,还会自动去重,代码示例如下:
List<string> list1 = new List<string> { "apple", "banana", "orange", "grape" };
List<string> list2 = new List<string> { "banana", "grape", "mango" };

// 获取同时存在于两个集合的元素
var commonElements = list1.Intersect(list2).ToList();
  • 方法2:Where + Contains(支持保留重复项)
    如果list1里有重复元素,你想把所有匹配的都保留下来,就用这种方式。要是list2元素比较多,建议转成HashSet来提升查找速度:
// 基础版(小数据量适用)
var commonElements = list1.Where(item => list2.Contains(item)).ToList();

// 优化版(大数据量推荐)
var list2HashSet = new HashSet<string>(list2);
var commonElements = list1.Where(item => list2HashSet.Contains(item)).ToList();

二、私有代码处理说明

相关私有代码已经按照要求移除,不会在回答中展示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:22:05