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

如何通过LINQ将AnimalDomain与下属Animal合并为ExtendedAnimal?

动物领域与动物信息的LINQ合并实现

现有类定义

public class AnimalDomain
{
    public string Domain { get; set; }
    
    List<Animal> Animals { get; set; }
}

public class Animal
{ 
     public string Name { get; set; }
}

public class ExtendedAnimal
{
     public string DomainName { get; set; }

     public string AnimalName { get; set; }
}

需求描述

给定IEnumerable<AnimalDomain>类型的输入列表,需要将每个AnimalDomain中的Animal对象转换为包含其所属领域信息的ExtendedAnimal对象,实现MergeDomainAndAnimal方法中的LINQ查询逻辑。

实现代码

public IEnumerable<ExtendedAnimal> MergeDomainAndAnimal(IEnumerable<AnimalDomain> input)
{ 
    return input.SelectMany(domain => domain.Animals.Select(animal => new ExtendedAnimal
    {
        DomainName = domain.Domain,
        AnimalName = animal.Name
    }));
}

代码说明

  • SelectMany的作用:用于扁平化嵌套集合,遍历每个AnimalDomain对象,将其内部的Animals列表展开为一个连续的序列。
  • 对象映射:对每个展开的Animal,创建对应的ExtendedAnimal实例,把所属领域的Domain值赋值给DomainName,Animal的Name赋值给AnimalName。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 12:27:05