Найти и обновить - PullRequest
       2

Найти и обновить

0 голосов
/ 27 апреля 2019

Я пытаюсь сравнить два комплекта и обновить

1 Ответ

2 голосов
/ 27 апреля 2019

Поскольку вы хотите обновить listB, лучше всего сделать обычный цикл foreach.Linq не для обновления, а для запросов.Кроме того, рассмотрите возможность хранения listA в качестве словаря, поэтому доступ осуществляется в O(1):

var a = listA.ToDictionary(k => k.Id, v => v.Price);
foreach(var item in listB)
{
    item.Price = a.TryGetValue(item.Id, out var newPrice) ? newPrice : item.Price;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...