我有以下类型:

class TypeA
{
    public string Name { get; set; }
    public object Value { get; set; } // Holds either a primitive DataType or a List<TypeA>
    public string IrrelevantInformation { get; set; }
}

class TypeB
{
    public string Name { get; set; }
    public object Value { get; set; } //Holds either a primitive DataType or a List<TypeB>
}

我想要的是把a型的一个hiarchical结构转换成B型。
我用了一种传统的递归方法:
private TypeB ConvertToTypeB(TypeA Input)
{
    return new TypeB() { Name = Input.Name, Value = ((Input.Value is List<TypeA>) ? ((List<TypeA>)Input.Value).Select(v=>ConvertToTypeB(v)).ToList() : Input.Value) };
}

我的问题是:在不使用converttoypeb函数的情况下,只使用一个linq查询就可以做到这一点吗?

最佳答案

要转换层次结构,需要递归调用。
无法排除atob方法。

关于c# - 如何使用LINQ将类型的嵌套数据结构转换为类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10814778/

10-11 19:40