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 = 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}
- };
- // IMPORTANT
- // Kiek zaideju pirmame kelinyje uz devyni
- var filtruotas1 = p.Where(c => c.Numeris < 9).ToList();
- // Sugrupuoja tada isrenka pirma is kiekvieno kelinio
- var filtruotas11 = filtruotas1.GroupBy(x => x.Kelinys).Select(x2 => x2.First()).ToList();
- // Kiek skirtingu keliniu
- var filtruotas111 = filtruotas1.GroupBy(x => x.Kelinys).Count();
- // Kiek skirtingu keliniu + anoniminis objektas su Count
- var filtruotas1111 = filtruotas1.GroupBy(x => x.Kelinys).Select(x => new{
- x.First().Kelinys,
- x.First().Pradzia,
- x.First().Trukme,
- x.First().Numeris,
- Count = x.Count()
- }).ToList();
- // Kiek skirtingu keliniu + isrenka pagal ilgiausia trukme + anoniminis objektas su Count
- var sudetingiausias =
- filtruotas1.GroupBy(x => x.Kelinys)
- .Select(x => x.OrderByDescending( x2 => x2.Trukme)
- .Select(x3 => new {
- x3.Numeris,
- x3.Kelinys,
- x3.Pradzia,
- x3.Trukme,
- SkirtingiKeliniai = x.Count()})
- .First())
- .Select(x => new{
- x.Numeris,
- x.Kelinys,
- x.Pradzia,
- x.Trukme,
- x.SkirtingiKeliniai
- }).ToList();
- filtruotas1.Dump();
- filtruotas11.Dump();
- filtruotas111.Dump();
- filtruotas1111.Dump();
- sudetingiausias.Dump();
- //TOLIAU NEPAKEISTA
- //Suskaiciuoja kiek kiekvienas zaidejas turi keliniu
- var filtruotas2 = k.Where(x => p.Any(x2 => (x2.Numeris == x.Numeris) && (x2.Trukme >= 5) && (x2.Kelinys == 1))).
- Join(p, isorinisRaktas => isorinisRaktas.Numeris, vidinisRaktas => vidinisRaktas.Numeris, (a1,a2) => new {
- a1.Pavarde,
- a1.Vardas,
- a1.Numeris,
- a2.Trukme
- }).OrderByDescending(x => x.Trukme);
- //filtruotas2.Dump();
- var sum = from ar in k
- let suma = (from mr in p where ar.Numeris == mr.Numeris && mr.Kelinys == 1
- select mr.Trukme).Sum()
- where suma >= 5
- orderby suma descending, ar.Pavarde
- select new {
- ar.Numeris,
- pavarde = ar.Pavarde,
- vardas = ar.Vardas,
- trukme = suma
- };
- //sum.Dump();
- }
- // Define other methods and classes here
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement