У меня два IEnumerable<T>.
Один наполняется запасными элементами. Этот всегда будет содержать наибольшее количество элементов. Другой будет заполняться в зависимости от некоторых параметров и, возможно, будет содержать меньше элементов. Если во втором элементе нет, мне нужно заполнить его эквивалентом первого.
Этот код выполняет свою работу, но мне кажется неэффективным и требует от меня приведения IEnumerables к IList или использования временного списка. Человек реализует 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);
}
Какие-либо предложения?