花式嵌套列表加入-最佳性能

时间:2019-04-12 16:13:19

标签: c# linq lambda

我有一个多维集合。使用仅标识符的请求,我需要完成缺少的属性。

使用单个lambda表达式的最佳方法是什么?

CurrentList = [ 
    { 
        identifier 1, description: "One", 
        children: [ 
            { identifier: 1, description: "Children One" }, 
            { identifier: 2, description: "Children Two" }
        ] 
    }, 
    { 
        identifier 2, description: "Two", 
        children: [ 
            { identifier: 1, description: "Children One" }, 
            { identifier: 2, description: "Children Two" }, 
            { identifier: 3, description: "Children Three" }
        ] 
    } 
];

RequestedList = [ 
    { 
        identifier: 2, children: [
            { identifier: 1 },
            { identifier: 3 }
        ]
    }
];

我使用了嵌套的foreach,它可以工作! 但是我想将代码简化为一个表达式。

requestedList?.ForEach(parent =>
{
    var found = currentList.FirstOrDefault(o => o.Identifier.Equals(parent.Identifier));

    parent.Description = found.Description;

    parent.Children.ForEach(child =>
    {
        child.Description = found.Children
            .FirstOrDefault(o => o.Identifier.Equals(child.Identifier))
                        .Description;
            });
        });

谢谢!

0 个答案:

没有答案