Tengo dos IEnumerable<T>
s.Fusionando dos IEnumerable <T> s
Uno se llena con los elementos de reserva. Este siempre contendrá la mayoría de los elementos. El otro se llenará dependiendo de algunos parámetros y posiblemente contendrá menos elementos. Si un elemento no existe en el segundo, necesito llenarlo con el equivalente del primero.
Este código hace el trabajo, pero se siente ineficaz a mí y me obliga a emitir los IEnumerables a ILists o para usar una lista temporal Persona implementa IEquatable
IEnumerable<Person> fallBack = Repository.GetPersons();
IList<Person> translated = Repository.GetPersons(language).ToList();
foreach (Person person in fallBack)
{
if (!translated.Any(p=>p.equals(person)))
translated.add(person);
}
¿Alguna sugerencia?
Esto funciona bien, pero hay un problema que debe tener en cuenta: http://programmaticallyspeaking.com/how-enumerableconcat-brought-down-a-production-server.html – Oliver