如果第一个列表包含另一个列表的一部分,则与第二个列表相交

希姆

我有2个字符串列表,list Alist Blist A是包含路径的字符串列表,另一个包含文件夹的字符串。例子:

List<string> listA = new List<string>{ "c:\myPath\FolderA\blabla\", "c:\myPath\FolderB\blabla2\", "c:\myPath\FolderA\blabla3\" "c:\myPath\FolderC\blabla\"};
List<string> listB = new List<string> { "FolderA, FolderC"};

我想要一种比较2列表的方法。如果listA包含其中任何一个listB有效,否则我不想要它。因此,基于此逻辑,我将有:

List<string> listReturn = new List<string>{ "c:\myPath\FolderA\blabla\", "c:\myPath\FolderA\blabla3\" "c:\myPath\FolderC\blabla\"};

到目前为止,我所做的只是一个遍历第一个列表并Contain使用LinqAny调用对字符串进行调用的方法,如下所示:

private static List<string> FilterList(List<string> listA, List<string> listB)
{
    List<string> listReturn = new List<string>();

    foreach (string val in listA)
    {
        if (listB.Any(item => val.Contains(item)))
        {
            listReturn.Add(val);
        }
    }

    return listReturn;
}

这还不错,但是如果有一个Intersect方法可以使用的话,我想使用Linq方法或.NET方法。谢谢你。

德米特里·埃格罗夫(Dmitry Egorov)

使用Where()针对listA在该列表和过滤项Exists()listB的过滤条件:

List<string> listA = new List<string> {@"c:\myPath\FolderA\blabla\", @"c:\myPath\FolderA\blabla2\", @"c:\myPath\Folder\blabla3\", @"c:\myPath\FolderC\blabla\"};
List<string> listB = new List<string> { "FolderA", "FolderC" };
var intersect = listA.Where(a => listB.Exists(b => a.Contains(b)));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python元组列表将第二个元素与唯一的第一个元素合并

来自分类Dev

当第二个div的溢出被隐藏时,另一个div上的div的一部分

来自分类Dev

将列表分成两部分-一个与第二个元素对应,另一个与所有其余元素对应

来自分类Dev

基于第一个下拉列表的动态第二个下拉列表

来自分类Dev

如何检查第一个列表在第二个列表中某处的显示顺序是否相同

来自分类Dev

从一对列表中获取第一个和第二个“列”

来自分类Dev

将第二个CATEGORY表中的第一个表相加

来自分类Dev

检查第二个列表是否是第一个列表的一半

来自分类Dev

比较两个列表,并打印第二个列表中的元素(如果它在第一个列表中),但不使用2 for循环

来自分类Dev

Prolog-第一个列表是第二个列表的子列表,同时保持顺序?

来自分类Dev

如何使用Python中的某些格式结合第二个列表和第一个列表?

来自分类Dev

Python将列表添加到另一个列表的一部分

来自分类Dev

在另一个列表中列出,但是第一个列表中的元素不需要在第二个列表中一个接一个地出现

来自分类Dev

python:在一个列表中查找索引,然后用第一个列表中索引的项目替换第二个列表

来自分类Dev

根据另一个索引列表删除列表的一部分

来自分类Dev

jQuery根据第一个下拉列表显示/排序第二个下拉列表?

来自分类Dev

当第二个div的溢出被隐藏时,另一个div上的div的一部分

来自分类Dev

编写一个包含两个列表的函数,如果第一个列表与第二个列表中的相同元素相反,则返回True,否则返回False

来自分类Dev

将列表分成两部分-一个与第二个元素对应,另一个与所有其余元素对应

来自分类Dev

从列表中的3个元组中获取第一个和第二个元素-Haskell

来自分类Dev

根据第一个多选下拉列表更新第二个多选下拉列表

来自分类Dev

从第二个列表中减去第一个列表中的元素

来自分类Dev

显示基于第一个下拉列表的第二个下拉列表不起作用

来自分类Dev

jQuery的第二个下拉列表取决于第一个下拉列表没有变化

来自分类Dev

根据Rails中的第一个选择列表值更改第二个选择列表

来自分类Dev

Bash脚本查找第二个列表中第一个出现的列表元素

来自分类Dev

如果第二个元素相同,则将列表中的第一个元素合并为元组?

来自分类Dev

AngularJS:根据第一个选择下拉列表的选择填充第二个选择下拉列表

来自分类Dev

根据第一个下拉列表中的选择显示第二个下拉列表?

Related 相关文章

  1. 1

    Python元组列表将第二个元素与唯一的第一个元素合并

  2. 2

    当第二个div的溢出被隐藏时,另一个div上的div的一部分

  3. 3

    将列表分成两部分-一个与第二个元素对应,另一个与所有其余元素对应

  4. 4

    基于第一个下拉列表的动态第二个下拉列表

  5. 5

    如何检查第一个列表在第二个列表中某处的显示顺序是否相同

  6. 6

    从一对列表中获取第一个和第二个“列”

  7. 7

    将第二个CATEGORY表中的第一个表相加

  8. 8

    检查第二个列表是否是第一个列表的一半

  9. 9

    比较两个列表,并打印第二个列表中的元素(如果它在第一个列表中),但不使用2 for循环

  10. 10

    Prolog-第一个列表是第二个列表的子列表,同时保持顺序?

  11. 11

    如何使用Python中的某些格式结合第二个列表和第一个列表?

  12. 12

    Python将列表添加到另一个列表的一部分

  13. 13

    在另一个列表中列出,但是第一个列表中的元素不需要在第二个列表中一个接一个地出现

  14. 14

    python:在一个列表中查找索引,然后用第一个列表中索引的项目替换第二个列表

  15. 15

    根据另一个索引列表删除列表的一部分

  16. 16

    jQuery根据第一个下拉列表显示/排序第二个下拉列表?

  17. 17

    当第二个div的溢出被隐藏时,另一个div上的div的一部分

  18. 18

    编写一个包含两个列表的函数,如果第一个列表与第二个列表中的相同元素相反,则返回True,否则返回False

  19. 19

    将列表分成两部分-一个与第二个元素对应,另一个与所有其余元素对应

  20. 20

    从列表中的3个元组中获取第一个和第二个元素-Haskell

  21. 21

    根据第一个多选下拉列表更新第二个多选下拉列表

  22. 22

    从第二个列表中减去第一个列表中的元素

  23. 23

    显示基于第一个下拉列表的第二个下拉列表不起作用

  24. 24

    jQuery的第二个下拉列表取决于第一个下拉列表没有变化

  25. 25

    根据Rails中的第一个选择列表值更改第二个选择列表

  26. 26

    Bash脚本查找第二个列表中第一个出现的列表元素

  27. 27

    如果第二个元素相同,则将列表中的第一个元素合并为元组?

  28. 28

    AngularJS:根据第一个选择下拉列表的选择填充第二个选择下拉列表

  29. 29

    根据第一个下拉列表中的选择显示第二个下拉列表?

热门标签

归档