查找List <t>属性与List <t>

时间:2016-07-08 14:44:18

标签: c# list

我发现了很多关于如何比较两个List的帖子,但我找不到任何解释如何比较两个列表属性的内容。

我有两个模型

FruitBasket
{
  ......
   public int[] Fruit {get; set;}
}

Fruit
{
   public int Id {get; set;}
   ......
}

FruitBasket.Fruit属性有一个数字数组,对应Fruit.Id。但是FruitBaskets中有孤儿我需要清除。

例如FruitBasket.Fruit将包含1,2,3,4,5,但只有一个Fruit 1,一个Fruit 2,一个Fruit 3.所以我需要找到{{1}中的4和5 1}}并更正FruitBasket

我写了一个丑陋的双FruitBasket循环ForEachFruitBaskets试图找到增量,我得到了惊人的结果,因为我不聪明足以弄清楚。

Fruit

此外,还有更优雅的方法来实现这一目标吗?当然这是一种常见的业务需求,并且有一种高效的方法吗?

  

请注意

请注意,一个是List属性(FruitBaskets.Fruit)正在与Fruit进行比较,而Fruit只是一个List。

1 个答案:

答案 0 :(得分:2)

由于您有一组集合,因此可以使用SelectMany来展平嵌套集合:

$i