从子列表中删除与Linq匹配另一个子列表的项目

大卫·弗莱雷

我有以下课程(简化的):

public class SeguradoraCalculo
{
    public int CodigoSeguradora { get; set; }

    public List<Franquia> Franquias{get;set;}

}

public class Franquia {
    public int CodFranquia{get;set;}
}

我有以下数据:

 var allData = new List<SeguradoraCalculo>(){new SeguradoraCalculo(){
                        CodigoSeguradora = 11,
                        Franquias = new List<Franquia>()
                        {
                            new Franquia()
                            {                   
                                CodigoFranquia = 1
                            },
                            new Franquia()
                            {                            
                                CodigoFranquia = 2
                            }
                        }
                    }
                };

    var except = new List<SeguradoraCalculo>()
                {
                    new SeguradoraCalculo()
                    {
                        CodigoSeguradora = 11,
                        Franquias = new List<Franquia>()
                        {
                            new Franquia()
                            {                   
                                CodigoFranquia = 1
                            }
                        }
                    }
                };

我如何才能得到一个结果,即删除与CodigoSeguradora相匹配的项目,CodigoFranquia现有的Franquias被删除,并且SeguradoraCalculo只有Franquia在我的Franquias列表中至少有一个项目时我才能得到

在此示例中,我的最终列表将是:

            CodigoSeguradora = 11,
            Franquias = new List<Franquia>()
            {
                new Franquia()
                {                            
                    CodigoFranquia = 2
                }
            }

谢谢

务实的

首先根据密钥加入两个集合,然后遍历每个加入的配对,并从第一个中删除第二个中包含的所有项目:

var query = allData.Join(except,
    item => item.CodigoSeguradora,
    item => item.CodigoSeguradora,
    (a, b) => new { a, b });

foreach (var pair in query)
    pair.a.Franquias.RemoveAll(f => 
        pair.b.Franquias.Select(x => x.CodFranquia).Contains(f.CodFranquia));

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从包含另一个列表中的项目中找到的单词的列表中删除项目

来自分类Dev

从子列表中删除与Linq匹配另一个子列表的项目

来自分类Dev

Linq-从另一个匿名列表中删除一个匿名列表

来自分类Dev

Linq位置列表包含另一个列表中的项目

来自分类Dev

删除另一个列表中的列表成员

来自分类Dev

从列表中删除子列表,该列表中的数字已存在于另一个子列表中

来自分类Dev

从Python 3.x中的另一个列表中删除单独的项目列表

来自分类Dev

从列表中删除基于ID成员的另一个列表中存在的项目

来自分类Dev

从C#中的列表中删除对象和子对象,使其与另一个列表中的对象属性匹配

来自分类Dev

从列表中删除特定属性在另一个列表中的项目?

来自分类Dev

LINQ选择列表,其中子列表包含另一个列表中的项目

来自分类Dev

Linq一个列表从另一个列表中选择多个项目

来自分类Dev

如何检查一个列表是否包含另一个列表子列表中的项目?

来自分类Dev

根据另一个列表从子列表中删除元素

来自分类Dev

根据python中另一个子列表中的相应权重对子列表进行排序

来自分类Dev

如何使用另一个列表从一个列表中删除匹配的元素?蟒蛇

来自分类Dev

如何过滤std :: list并删除与另一个列表相比不匹配的项目?

来自分类Dev

打印一个子列表,该子列表包含另一个列表中的所有字符串,而不必直接匹配

来自分类Dev

Linq-从另一个匿名列表中删除一个匿名列表

来自分类Dev

Linq,将列表加入另一个列表中的最后一个项目

来自分类Dev

从bash中的另一个文件中删除项目列表

来自分类Dev

在Python 3.x中从另一个列表中删除单独的项目列表

来自分类Dev

从列表中删除基于ID成员的另一个列表中存在的项目

来自分类Dev

Linq to Entities-过滤一个列表中属于另一个列表的任何项目

来自分类Dev

从列表中删除特定属性在另一个列表中的项目?

来自分类Dev

在Python的for循环中获取与另一个列表中的项目匹配的列表中的项目

来自分类Dev

如何从子组件访问 Angular 4 中的另一个子组件

来自分类Dev

删除另一个列表中的列表项

来自分类Dev

通过分组的特定属性从列表中删除另一个列表中的项目

Related 相关文章

  1. 1

    如何从包含另一个列表中的项目中找到的单词的列表中删除项目

  2. 2

    从子列表中删除与Linq匹配另一个子列表的项目

  3. 3

    Linq-从另一个匿名列表中删除一个匿名列表

  4. 4

    Linq位置列表包含另一个列表中的项目

  5. 5

    删除另一个列表中的列表成员

  6. 6

    从列表中删除子列表,该列表中的数字已存在于另一个子列表中

  7. 7

    从Python 3.x中的另一个列表中删除单独的项目列表

  8. 8

    从列表中删除基于ID成员的另一个列表中存在的项目

  9. 9

    从C#中的列表中删除对象和子对象,使其与另一个列表中的对象属性匹配

  10. 10

    从列表中删除特定属性在另一个列表中的项目?

  11. 11

    LINQ选择列表,其中子列表包含另一个列表中的项目

  12. 12

    Linq一个列表从另一个列表中选择多个项目

  13. 13

    如何检查一个列表是否包含另一个列表子列表中的项目?

  14. 14

    根据另一个列表从子列表中删除元素

  15. 15

    根据python中另一个子列表中的相应权重对子列表进行排序

  16. 16

    如何使用另一个列表从一个列表中删除匹配的元素?蟒蛇

  17. 17

    如何过滤std :: list并删除与另一个列表相比不匹配的项目?

  18. 18

    打印一个子列表,该子列表包含另一个列表中的所有字符串,而不必直接匹配

  19. 19

    Linq-从另一个匿名列表中删除一个匿名列表

  20. 20

    Linq,将列表加入另一个列表中的最后一个项目

  21. 21

    从bash中的另一个文件中删除项目列表

  22. 22

    在Python 3.x中从另一个列表中删除单独的项目列表

  23. 23

    从列表中删除基于ID成员的另一个列表中存在的项目

  24. 24

    Linq to Entities-过滤一个列表中属于另一个列表的任何项目

  25. 25

    从列表中删除特定属性在另一个列表中的项目?

  26. 26

    在Python的for循环中获取与另一个列表中的项目匹配的列表中的项目

  27. 27

    如何从子组件访问 Angular 4 中的另一个子组件

  28. 28

    删除另一个列表中的列表项

  29. 29

    通过分组的特定属性从列表中删除另一个列表中的项目

热门标签

归档