gpt4 book ai didi

c# - 如何使用 LINQ 将 TypeA 的嵌套数据结构转换为 TypeB

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:10:21 26 4
gpt4 key购买 nike

我有以下类型:

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>
}

我想要的是将 TypeA 的层次结构转换为 TypeB。

我是用传统的递归方法做的:

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) };
}

我的问题是:这是否可以在没有 ConvertToTypeB 函数的情况下仅使用一个 Linq 查询来完成?

最佳答案

要转换层次结构,需要递归调用。没有办法排除 AtoB 方法。

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

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com