嵌套对象如何从一种类型转换为另一种类型

我有一个C#对象,其结构如下

class Source 
{
    public int Id {get; set;}
    public List<Source> Children {get; set;}
}

我想将Source类型的对象(子代数未知)转换为Destination类型的对象

class Destination
{
    public int key {get; set;}
    public List<Destination> nodes {get; set;}
}

有没有一种方法可以使用LINQ做到这一点,或者我必须遍历所有进程并将其映射.

解决方法:

您可以执行以下递归操作:

public class Source
{
    public int Id { get; set; }
    public List<Source> Children { get; set; }

    public Destination GetDestination()
    {
        return new Destination
        {
            nodes = Children.Select(c => c.GetDestination()).ToList(),
            key = Id
        };
    }
}
上一篇:春季春季安全瓷砖.如何使用磁贴页面定义设置表单登录?


下一篇:java-如何使用外部绑定在JAXB中覆盖默认名称?