Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.24 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 = 8, Kelinys = 4, Pradzia = 2, Trukme = 2},
  26.         new { Numeris = 9, Kelinys = 1, Pradzia = 2, Trukme = 1},
  27.         new { Numeris = 9, Kelinys = 2, Pradzia = 2, Trukme = 10}
  28.     };
  29.    
  30.     // IMPORTANT
  31.    
  32.     // Kiek zaideju pirmame kelinyje uz devyni
  33.     var filtruotas1 = p.Where(c => c.Numeris < 9).ToList();
  34.    
  35.     // Sugrupuoja tada isrenka pirma is kiekvieno kelinio
  36.     var filtruotas11 = filtruotas1.GroupBy(x => x.Kelinys).Select(x2 => x2.First()).ToList();
  37.    
  38.     // Kiek skirtingu keliniu
  39.     var filtruotas111 = filtruotas1.GroupBy(x => x.Kelinys).Count();
  40.    
  41.     // Kiek skirtingu keliniu + anoniminis objektas su Count
  42.     var filtruotas1111 = filtruotas1.GroupBy(x => x.Kelinys).Select(x => new{
  43.         x.First().Kelinys,
  44.         x.First().Pradzia,
  45.         x.First().Trukme,
  46.         x.First().Numeris,
  47.         Count = x.Count()
  48.     }).ToList();
  49.    
  50.     // Kiek skirtingu keliniu + isrenka pagal ilgiausia trukme + anoniminis objektas su Count
  51.     var sudetingiausias =
  52.         filtruotas1.GroupBy(x => x.Kelinys)
  53.         .Select(x => x.OrderByDescending( x2 => x2.Trukme)
  54.         .Select(x3 => new {
  55.             x3.Numeris,
  56.             x3.Kelinys,
  57.             x3.Pradzia,
  58.             x3.Trukme,
  59.         SkirtingiKeliniai = x.Count()})
  60.         .First())
  61.         .Select(x => new{
  62.             x.Numeris,
  63.             x.Kelinys,
  64.             x.Pradzia,
  65.             x.Trukme,
  66.             x.SkirtingiKeliniai
  67.         }).ToList();
  68.    
  69.    
  70.     filtruotas1.Dump();
  71.     filtruotas11.Dump();
  72.     filtruotas111.Dump();
  73.     filtruotas1111.Dump();
  74.     sudetingiausias.Dump();
  75.    
  76.     //TOLIAU NEPAKEISTA
  77.    
  78.     //Suskaiciuoja kiek kiekvienas zaidejas turi keliniu
  79.    
  80.     var filtruotas2 = k.Where(x => p.Any(x2 => (x2.Numeris == x.Numeris) && (x2.Trukme >= 5) && (x2.Kelinys == 1))).
  81.         Join(p, isorinisRaktas => isorinisRaktas.Numeris, vidinisRaktas => vidinisRaktas.Numeris, (a1,a2) => new {
  82.             a1.Pavarde,
  83.             a1.Vardas,
  84.             a1.Numeris,
  85.             a2.Trukme
  86.         }).OrderByDescending(x => x.Trukme);
  87.     //filtruotas2.Dump();
  88.  
  89.     var sum = from ar in k
  90.     let suma = (from mr in p where ar.Numeris == mr.Numeris && mr.Kelinys == 1
  91.     select mr.Trukme).Sum()
  92.     where suma >= 5
  93.     orderby suma descending, ar.Pavarde
  94.     select new {
  95.         ar.Numeris,
  96.         pavarde = ar.Pavarde,
  97.         vardas = ar.Vardas,
  98.         trukme = suma
  99.     };
  100.     //sum.Dump();
  101. }
  102.  
  103. // Define other methods and classes here
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement