Grupowanie anonimowego typu

0

Hej,mam taką prostą listę i zapytanie linq

 List<Car> myCars = new List<Car>()
            {
                new Car("E250", new Engine(1.8, 204, "CGI"), 2009),
                new Car("E350", new Engine(3.5, 292, "CGI"), 2009),
                new Car("A6", new Engine(2.5, 187, "FSI"), 2012),
                new Car("A6", new Engine(2.8, 220, "FSI"), 2012),
                new Car("A6", new Engine(3.0, 295, "TFSI"), 2012),
                new Car("A6", new Engine(2.0, 175, "TDI"), 2011),
                new Car("A6", new Engine(3.0, 309, "TDI"), 2011),
                new Car("S6", new Engine(4.0, 414, "TFSI"), 2012),
                new Car("S8", new Engine(4.0, 513, "TFSI"), 2012)
            };

            var elements = from car in myCars
                           where car.Model == "A6"
                           select new
                           {
                               engineType = car.Motor.Model == "TDI" ? "diesel" : "petrol",
                               avgHPPL = car.Motor.HorsePower / car.Motor.Displacement
                           }
                           into obj
                           select obj;

Po wykonaniu zapytania kolekcja wynikowa ma wartości:

petrol: 74,8
petrol: 78,5714285714286
petrol: 98,3333333333333
diesel: 87,5
diesel: 103

Chciałbym jeszcze je pogrupować i wyciągnąć średnią z wartości, ale nie wiem jak zrobić to wewnątrz tego zapytania, nie wiem jak odwołać się do tego anonimowego typu

1
var elements = myCars
                .Where(x => x.Model == "A6")
                .Select(x => new
                {
                    engineType = x.Motor.Model == "TDI" ? "diesel" : "petrol",
                    avgHPPL = x.Motor.HorsePower / x.Motor.Displacement
                })
                .GroupBy(x => x.engineType)
                .Select(x => new
                {
                    x.First().engineType,
                    agerage = x.Average(z => z.avgHPPL)
                });

1 użytkowników online, w tym zalogowanych: 0, gości: 1