Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //zad1
- //a
- 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 p
- group p by p.engineType into q
- select new
- {
- q.First().engineType,
- avgHPPL = q.Average(r => r.avgHppl)
- }
- into s
- orderby s.avgHPPL descending
- select s;
- Console.WriteLine("Zadanie 1a:");
- foreach (var e in elements)
- {
- Console.WriteLine(e.engineType + ": " + e.avgHPPL);
- }
- //b
- var elements2 = 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,
- avgHPPL = x.Average(y => y.avgHppl)
- })
- .OrderByDescending(z => z.avgHPPL);
- Console.WriteLine("Zadanie 1b:");
- foreach (var e in elements2)
- {
- Console.WriteLine(e.engineType + ": " + e.avgHPPL);
- }
- //zad 2
- Func<Car, Car, int> arg1 = delegate (Car c1, Car c2)
- {
- return c1.Motor.HorsePower < c2.Motor.HorsePower ? 1 : -1;
- };
- Predicate<Car> arg2 = delegate (Car c)
- {
- return c.Motor.Model.Equals("TDI");
- };
- Action<Car> arg3 = delegate (Car c)
- {
- string content = "Model: " + c.Model + "\nSilnik: " + c.Motor.Displacement.ToString("0.0") + " "
- + c.Motor.Model + " Moc: " + c.Motor.HorsePower + "\nRok: " + c.Year;
- MessageBox.Show(content, "Zawartosc obiektu");
- };
- myCars.Sort(new Comparison<Car>(arg1));
- PrintCollection(myCars);
- myCars.FindAll(arg2).ForEach(arg3);
- }
- private static void PrintCollection(List<Car> cars)
- {
- foreach (var car in cars)
- {
- string empty = String.Empty;
- for (int i = 0; i < car.Model.Length % 4; ++i)
- empty += ' ';
- Console.WriteLine("Model: {0}{1}, Moc silnika: {2}, Rok: {3}", empty, car.Model, car.Motor.HorsePower, car.Year);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement