我有两个元素集合。我正在尝试获取第一个集合中在第二个集合中具有匹配 ID 的所有元素,并对匹配的元素运行 CopyToDomain 方法。
下面的代码运行良好,但我对它的冗长感到有点惊讶。ReSharper 在这里不推荐任何东西,但我想知道是否对两个集合进行交集,然后将方法映射到元素上会更清楚吗?你会做出改变,还是我应该停止大惊小怪并保持原样?
Task task = new Task();
IList<TaskAttributeDto> taskAttributeDtos = new List<TaskAttributeDto>();
taskAttributeDtos.Add(new TaskAttributeDto{ ID = 1});
taskAttributeDtos.Add(new TaskAttributeDto{ ID = 2});
foreach (TaskAttributeDto taskAttributeDto in taskAttributeDtos)
{
TaskAttribute matching = task.TaskAttributes.FirstOrDefault(t => t.ID == taskAttributeDto.ID);
if (matching != null)
{
taskAttributeDto.CopyToDomain(matching);
}
}