I have the following class:
public class Vehicle { public string Make { get; set; } public DateTime DateManufactured { get; set; } }
Then I compiled a list of vehicles, such as:
var dateTime1 = DateTime.Now.AddDays(-7); var dateTime2 = DateTime.Now.AddDays(-8); var dateTime3 = DateTime.Now.AddDays(-9); var vehicles = new List<Vehicle> { new Vehicle {Make = "Ferrari", DateManufactured = dateTime1}, new Vehicle {Make = "Mazda", DateManufactured = dateTime2}, new Vehicle {Make = "Dodge", DateManufactured = dateTime3}, new Vehicle {Make = "Holden", DateManufactured = dateTime1}, new Vehicle {Make = "Chrysler", DateManufactured = dateTime2}, new Vehicle {Make = "Mazda", DateManufactured = dateTime3}, };
Then I tried to get a list of DatesManufactured and for each date that were manufactured on that date.
So I went for:
var vehiclesGroupedByDate = vechicles.GroupBy(x => x.DateManufactured) .Select(x => new { x.First().DateManufactured, Vehicles = x.ToList() });
This works, but I'm not sure about the x.First() . This works, but it is not entirely correct. Does anyone know a more elegant way to encode this?
user2005657
source share