Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.75 KB | None | 0 0
  1. void Main()
  2. {
  3.     //List<Žaidėjas> = k;
  4.     //List<ProtokoloEilutė> = p;
  5.    
  6.     // Iki .Join atrenka pirmus kėlinius
  7.    
  8.     //filtruotas = p.where(x => k.Any(a => (a.numeris == x.numeris) ) && (x.trukmė > 5) && (x.kelinys == 1) ).Join(k, )
  9.     var k = new[] {
  10.         new { Numeris = 1, Pavarde = "testas1", Vardas = "jonas1", Ugis = 1.0},
  11.         new { Numeris = 2, Pavarde = "testas2", Vardas = "jonas2", Ugis = 2.11},
  12.         new { Numeris = 3, Pavarde = "testas3", Vardas = "jonas3", Ugis = 3.33},
  13.         new { Numeris = 4, Pavarde = "testas4", Vardas = "jonas4", Ugis = 4.2},
  14.         new { Numeris = 5, Pavarde = "testas5", Vardas = "jonas5", Ugis = 5.2},
  15.         new { Numeris = 6, Pavarde = "testas6", Vardas = "jonas6", Ugis = 6.5},
  16.         new { Numeris = 7, Pavarde = "testas7", Vardas = "jonas7", Ugis = 2.55}
  17.     };
  18.    
  19.     var p = new[] {
  20.         new { Numeris = 3, Kelinys = 1, Pradzia = 2, Trukme = 8},
  21.         new { Numeris = 4, Kelinys = 1, Pradzia = 2, Trukme = 2},
  22.         new { Numeris = 5, Kelinys = 2, Pradzia = 2, Trukme = 6},
  23.         new { Numeris = 6, Kelinys = 1, Pradzia = 2, Trukme = 5},
  24.         new { Numeris = 7, Kelinys = 1, Pradzia = 2, Trukme = 9},
  25.         new { Numeris = 7, Kelinys = 1, Pradzia = 2, Trukme = 9},
  26.         new { Numeris = 8, Kelinys = 4, Pradzia = 2, Trukme = 2},
  27.         new { Numeris = 9, Kelinys = 1, Pradzia = 2, Trukme = 1},
  28.         new { Numeris = 9, Kelinys = 2, Pradzia = 2, Trukme = 10},
  29.     };
  30.    
  31.     // Užklausą, kuri sudarytų žaidėjų, kurie pirmame kėlinyje
  32.     // aikštelėje praleido ne mažiau, kaip 5 minutes, sąrašą
  33.     // surikiuotą pagal šiame kėlinyje praleistą laiką mažėjimo
  34.     // kryptimi. Šiame sąraše apie žaidėją turi būti pateikta:
  35.     // žaidėjo pavardė ir vardas, numeris, pirmame kėlinyje
  36.     // praleistas laikas.
  37.  
  38.     // K zaidejai
  39.     // P keliniai
  40.     // 1. Atrinkti zaidejus kurie dalyvavo -- done
  41.     // 2. Sugrupuoti juos  -- done
  42.     // 3. Suskaiciuoti trukmes ir atrinkti -- done
  43.    
  44.     // Keliniai gali buti po kelis tikiuosi
  45.     var uzduotis2 = p
  46.         // Atrenka Tuos kurie yra
  47.         .Where(x => k.Any(x2 => x2.Numeris == x.Numeris))
  48.         // Sugrupuoja pagal numeri
  49.         .GroupBy(x => x.Numeris)
  50.         // Selectina
  51.         .Select(x => {
  52.             // Suskaiciuoja trukme
  53.             var PilnaTrukme = x.Sum(x2 => x2.Trukme);
  54.             var KiekKartuPaminetas = x.Count();
  55.             // Tinka bet kuris numeris is grupes tad First()
  56.             // Selectina ne viena tad paimu pirma arba default
  57.             var zaidejas = k.Where(x2 => x2.Numeris == x.First().Numeris).FirstOrDefault();
  58.             // Grazina anonimini
  59.             return new {
  60.                 zaidejas.Pavarde,
  61.                 zaidejas.Vardas,
  62.                 zaidejas.Numeris,
  63.                 PilnaTrukme,
  64.                 KiekKartuPaminetas
  65.                 };
  66.             })
  67.         // Atrenka pagal pilna trukme
  68.         .Where(x => x.PilnaTrukme >= 5)
  69.         // Kad moketi naudoti count
  70.         .Where(x => x.KiekKartuPaminetas <= 3)
  71.         // Surikiuoja
  72.         .OrderByDescending(x => x.PilnaTrukme).Dump();
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement