2015-07-22 2 views
0

У меня есть этот код:объединить свойства из двух списков

IEnumerable<CarResultsViewModel> priceResults = price.Select(p => new CarResultsViewModel 
        { 
         PricePerDay = p.PricePerDay, 
         PricePerDayDelayed = p.PricePerDayDelayed, 
         TotalPrice = (double)p.Total_price 
        }).ToList(); 

    IEnumerable<CarResultsViewModel> results = car.Select(c => new CarResultsViewModel 
        { 
         CreationYear = c.CreationYear, 
         ManufacturerName = c.ManufacturerName, 
         ModelName = c.ModelName, 
         Gear = c.Gear, 
         CurrentKm = c.CurrentKM, 
         Picture = c.Picture, 
         StartDate = model.StartDate, 
         ReturnDate = model.ReturnDate 
        }).ToList(); 

Я хотел бы реализовать три свойства в priceResults в список результатов. есть ли элегантный способ сделать это?

+0

Вы, вероятно, имеют общий Id, который является связь между двумя объектами? Затем вы можете присоединиться к этому идентификатору. – LInsoDeTeh

+0

Скорее всего, вам необходимо использовать метод расширения соединения для IEnumerable, но вам нужно определенное соответствие идентификатора между этими двумя списками (https://msdn.microsoft.com/en-us/library/vstudio/bb549267(v=vs.110). aspx) – Igor

+0

У меня нет общего идентификатора. совершенно разные объекты, одного типа. – Moshik

ответ

-1

В commentors правильно, вы можете использовать функцию Объединить LINQ «слить» эти два списка вместе, например:

  var carResults = (from pr in priceResults 
      join r in results 
       on pr.CarId equals r.CarId 
      select new CarResultsViewModel 
      { 
       CarId = pr.CarId, 
       PricePerDay = pr.PricePerDayDelayed, 
       ManufacturerName = r.ManufacturerName, 
       etc... 
      }).ToList(); 
+0

Я попробовал вас ответить на основе разных общих свойств, и он добавил объекты из обоих ценовых результатов и результатов в новый большой список. Вместо этого я хочу реализовать три свойства объекта из первого списка для свойств объекта во втором списке. – Moshik

+0

Какая общая нить между этими двумя списками? Как вы узнаете, какие три свойства объекта A будут добавлены к объекту в другом списке? –

Смежные вопросы