Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Main()
- {
- //List<Žaidėjas> = k;
- //List<ProtokoloEilutė> = p;
- // Iki .Join atrenka pirmus kėlinius
- //filtruotas = p.where(x => k.Any(a => (a.numeris == x.numeris) ) && (x.trukmė > 5) && (x.kelinys == 1) ).Join(k, )
- var k = new[] {
- new { Numeris = 1, Pavarde = "testas1", Vardas = "jonas1", Ugis = 1.0},
- new { Numeris = 2, Pavarde = "testas2", Vardas = "jonas2", Ugis = 2.11},
- new { Numeris = 3, Pavarde = "testas3", Vardas = "jonas3", Ugis = 3.33},
- new { Numeris = 4, Pavarde = "testas4", Vardas = "jonas4", Ugis = 4.2},
- new { Numeris = 5, Pavarde = "testas5", Vardas = "jonas5", Ugis = 5.2},
- new { Numeris = 6, Pavarde = "testas6", Vardas = "jonas6", Ugis = 6.5},
- new { Numeris = 7, Pavarde = "testas7", Vardas = "jonas7", Ugis = 2.55}
- };
- var p = new[] {
- new { Numeris = 3, Kelinys = 1, Pradzia = 2, Trukme = 8},
- new { Numeris = 4, Kelinys = 1, Pradzia = 2, Trukme = 2},
- new { Numeris = 5, Kelinys = 2, Pradzia = 2, Trukme = 6},
- new { Numeris = 6, Kelinys = 1, Pradzia = 2, Trukme = 5},
- new { Numeris = 7, Kelinys = 1, Pradzia = 2, Trukme = 9},
- new { Numeris = 7, Kelinys = 1, Pradzia = 2, Trukme = 9},
- new { Numeris = 8, Kelinys = 4, Pradzia = 2, Trukme = 2},
- new { Numeris = 9, Kelinys = 1, Pradzia = 2, Trukme = 1},
- new { Numeris = 9, Kelinys = 2, Pradzia = 2, Trukme = 10},
- };
- // Užklausą, kuri sudarytų žaidėjų, kurie pirmame kėlinyje
- // aikštelėje praleido ne mažiau, kaip 5 minutes, sąrašą
- // surikiuotą pagal šiame kėlinyje praleistą laiką mažėjimo
- // kryptimi. Šiame sąraše apie žaidėją turi būti pateikta:
- // žaidėjo pavardė ir vardas, numeris, pirmame kėlinyje
- // praleistas laikas.
- // K zaidejai
- // P keliniai
- // 1. Atrinkti zaidejus kurie dalyvavo -- done
- // 2. Sugrupuoti juos -- done
- // 3. Suskaiciuoti trukmes ir atrinkti -- done
- // Keliniai gali buti po kelis tikiuosi
- var uzduotis2 = p
- // Atrenka Tuos kurie yra
- .Where(x => k.Any(x2 => x2.Numeris == x.Numeris))
- // Sugrupuoja pagal numeri
- .GroupBy(x => x.Numeris)
- // Selectina
- .Select(x => {
- // Suskaiciuoja trukme
- var PilnaTrukme = x.Sum(x2 => x2.Trukme);
- var KiekKartuPaminetas = x.Count();
- // Tinka bet kuris numeris is grupes tad First()
- // Selectina ne viena tad paimu pirma arba default
- var zaidejas = k.Where(x2 => x2.Numeris == x.First().Numeris).FirstOrDefault();
- // Grazina anonimini
- return new {
- zaidejas.Pavarde,
- zaidejas.Vardas,
- zaidejas.Numeris,
- PilnaTrukme,
- KiekKartuPaminetas
- };
- })
- // Atrenka pagal pilna trukme
- .Where(x => x.PilnaTrukme >= 5)
- // Kad moketi naudoti count
- .Where(x => x.KiekKartuPaminetas <= 3)
- // Surikiuoja
- .OrderByDescending(x => x.PilnaTrukme).Dump();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement