【问题标题】:Dictionary out of a complex nested object复杂嵌套对象的字典
【发布时间】:2022-11-30 18:04:54
【问题描述】:

我有这样的DTO

public class Obj1
{
    public string a1 { get; set; };
    public Obj2[] a2 { get; set; };
}
public class Obj2
{
    public string b1 { get; set; };
    public Obj3[] b2 { get; set; };
}
public class Obj3
{
    public string key  { get; set; };
}

所以,对象会像

Obj1 o = new Obj1
{
    a1="a";
    a2=new[]
    {
        new Obj2
        {
            b2="b";
            b3=new[]
            {
                new Obj3
                {
                   Key="c";
                }
            }
        }
    }
}

我有 Obj1。如何以类型字典的形式对其进行分组

IDictionary<string, IEnumerable<Obj2>> 

其中 Key 在 Obj3 中。

我尝试使用 GroupBy 但没有得到相关结果。

【问题讨论】:

  • “尝试使用 GroupBy 但没有得到相关结果。”请发布此代码
  • 如果 Obj2 有多个 Obj3-Keys,您将如何决定它属于哪个组?比如:Obj2 b1 = { c1, c3}Obj2 b2 = { c3, c1}?你想要他们复制吗?还是该组现在是 c1+c3 的组合?
  • @MongZhu 可以复制。

标签: c# asp.net linq


【解决方案1】:

我不太确定,但是您的类“obj2”不是具有 2 个属性,而是可以使用带有字符串键和 Ienumerable 值的 Dictionary 的一个属性来创建它,因此您的变量可能看起来像这样。 Dictionary<string, Dictionary<string, Ienumerable>> 并且您可以添加“obj3”作为值或键。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-31
    • 1970-01-01
    • 1970-01-01
    • 2019-08-18
    • 2017-10-16
    • 2020-04-03
    • 2022-06-15
    相关资源
    最近更新 更多