Le contexte est que j'ai un ensemble de valeurs en mémoire cache qui étaient chères à extraire, et un autre ensemble de données associées qui est peu coûteux à récupérer et ne peut pas être mis en cache (règle métier) . Je l'ai tout travail mais je me demandais si quelqu'un pouvait penser à une façon moins coûteuse de faire ce genre de mise à jour ...comparer et mettre à jour deux listes dans C#
foreach (var nonCachedItem in searchItemsNonCached)
{
foreach (var cachedItem in searchItemsCached)
{
if (cachedItem.ID == nonCachedItem.ID)
nonCachedItem.Description = cachedItem.Description;
}
}
il est fondamentalement juste de faire correspondre les informations mises en cache avec les informations que je juste obtenu. Tout fonctionne et la charge est presque négligeable mais je suis un peu un aspirant pour l'efficacité.
EDIT: dans ce qui précède, searchItemsNonCached et searchItemsCached sont deux listes de SearchItem où Searchitem est un objet sur mesure.
Quels sont les types de searchItemsNonCached et de searchItemCached? Ont-ils une recherche plus rapide que O (n)? Sont-ils triés? –
Une autre possibilité que vous pouvez utiliser est Paralléliser la recherche –