Здравствуйте, у меня есть небольшая проблема с присвоением значений свойств из одних элементов списков другим. Я знаю, что мог бы решить это «по-старому», перебирая оба списка и т. Д., Но я ищу более элегантное решение с использованием LINQ.
Начнем с кода...
class SourceType
{
public int Id;
public string Name;
// other properties
}
class DestinationType
{
public int Id;
public string Name;
// other properties
}
List<SourceType> sourceList = new List<SourceType>();
sourceList.Add(new SourceType { Id = 1, Name = "1111" });
sourceList.Add(new SourceType { Id = 2, Name = "2222" });
sourceList.Add(new SourceType { Id = 3, Name = "3333" });
sourceList.Add(new SourceType { Id = 5, Name = "5555" });
List<DestinationType> destinationList = new List<DestinationType>();
destinationList.Add(new DestinationType { Id = 1, Name = null });
destinationList.Add(new DestinationType { Id = 2, Name = null });
destinationList.Add(new DestinationType { Id = 3, Name = null });
destinationList.Add(new DestinationType { Id = 4, Name = null });
Я хотел бы добиться следующего:
В конце список назначения должен содержать:
1 "1111"
2 "2222"
3 "3333"
Есть ли какое-нибудь элегантное (однострочное Lambda? ;) решение для этого с использованием LINQ?
Будем признательны за любую помощь! Спасибо!