Fancy Nested Lists Join - лучшая производительность - PullRequest
0 голосов
/ 12 апреля 2019

У меня многомерная коллекция. Используя запрос только идентификаторов, мне нужно заполнить отсутствующие свойства.

Как лучше всего использовать одно лямбда-выражение?

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

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...