【发布时间】:2010-10-10 02:41:02
【问题描述】:
我有两个IEnumerable<T>s。
一个被后备元素填充。这将始终包含最多的元素。 另一个将根据某些参数被填充,并且可能包含更少的元素。 如果第二个元素中不存在某个元素,我需要用第一个元素的等效元素填充它。
这段代码完成了这项工作,但我觉得效率低下,需要我将 IEnumerables 强制转换为 ILists 或使用临时列表 Person 实现 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);
}
有什么建议吗?
【问题讨论】: