Advertisement
Meteorgirl

LINQ Dolgozathoz

Apr 25th, 2017
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.91 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace LinQDolgozathoz
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int[] tomb = { 1, 2, 3, 5, 8, 13, 21, 34, 45, 79, 120 };
  14.  
  15.             //Max ---> Megkeresi a legnagyobb értékű számot a tömbben
  16.             int max = tomb.Max();
  17.             Console.WriteLine(max);
  18.  
  19.             //Min --> Megkeresi a legkisebb értékű számot a tömbben
  20.             int min = tomb.Min();
  21.             Console.WriteLine(min);
  22.  
  23.             //Sum --> Összeadja a tömb elemeit -- A tömb elemeinek összege
  24.             int sum = tomb.Sum();
  25.             Console.WriteLine(sum);
  26.  
  27.             //Average - Átlagot számol
  28.             double avg = tomb.Average();
  29.             Console.WriteLine(avg);
  30.  
  31.             //First - Megadja a tömb első elemét
  32.             int first = tomb.First();
  33.             Console.WriteLine(first);
  34.  
  35.             //FirstOrDefault
  36.             int firstOrDefault = tomb.FirstOrDefault();
  37.             Console.WriteLine(firstOrDefault);
  38.  
  39.             //Last - Megkeresi a tömb legutolsó elemét
  40.             int last = tomb.Last();
  41.             Console.WriteLine(last);
  42.  
  43.             //LastOrDefault
  44.             int lastOrDefault = tomb.LastOrDefault();
  45.             Console.WriteLine(lastOrDefault);
  46.             Console.ReadKey();
  47.  
  48.  
  49.             //Single - SingleOrDefault  - Egy olyan elemet ad vissza,mely teljesítia megadott feltételt. A következő híváskor a soronkövetkező ilyen elemet adja meg.
  50.  
  51.  
  52.  
  53.  
  54.  
  55.             //Count --> Számolás -(s => s % 2 == 0); Megszámolja, hogy a tömb hány darab páros számot tartalmaz - kollekció elemeinek adarbszámát adja vissza
  56.             int parosDB = tomb.Count(s => s % 2 == 0);
  57.  
  58.             //Where -->szelekciós operátor. A megadott kifejezést nem teljesítő objektumok nem kerülnek át az eredménybe.
  59.             int[] parosak = tomb.Where(s => s % 2 == 0).ToArray();
  60.             List<int> parosakListaja = tomb.Where(s => s % 2 == 0).ToList();
  61.  
  62.             int parosDB2 = tomb.Where(s => s % 2 == 0).Count(); // lassabb, mint a parosDB
  63.  
  64.             int[] primek = tomb.Where(elem => PrimE(elem)).ToArray();
  65.  
  66.             //Any --> Van e benne ilyen elem - Létezik-e kvantor
  67.             if (primek.Any()) // Van-e benne elem
  68.             {
  69.                 Console.WriteLine("Nem üres");
  70.             }
  71.  
  72.             //Select -- Az eredmény objektum megadását végző operátor, a forrás objektumokból generál kimeneti objektumot.
  73.             string[] primekStringkent = primek.Select(szam => szam.ToString()).ToArray();
  74.             int[] primekDuplazva = primek.Select(s => s * 2).ToArray();
  75.  
  76.             //Aggregate - Összevonás - Prímek összevonása
  77.             int aggregalva = primek.Aggregate((a, b) => a * b);
  78.  
  79.             //All - MINDEN kvantorok az objektumhalmazon (any: létezik, all: minden). Logikai kifejezés áll mögötte és logikai értéket ad vissza.
  80.             if (primek.All(s => s % 2 != 0))
  81.             {
  82.                 Console.WriteLine("Minden szám páros benne");
  83.             }
  84.  
  85.  
  86.             tomb = new int[] { 1, 7, 2, 3, 4, 3, 4, 5, 6, 6, 6, 7, 8, 9, 100 };
  87.  
  88.             //A tömb elemei ismétlődések nélkül - Az duplikálások megszüntetése az objektum halmazban
  89.             int[] ismetlodesekNelkul = tomb.Distinct().ToArray();
  90.  
  91.             //Take - Első elemek Take(5) - A tömb első öt eleme  - az objektum kollekció első(5) megadott számú elemét adja vissza
  92.             int[] elsoOteleme = tomb.Take(5).ToArray();
  93.  
  94.             //TakeWhile - Páratlanok az elejéről - az objektum kollekció feltételnek megfelelő elemeit adja vissza
  95.             int[] paratlanokAzElejerol = tomb.TakeWhile(s => s % 2 == 1).ToArray();
  96.  
  97.             //Skip - Kihagyás Skip(5) - Elemek első 5 kivételével  - az objektum kollekció első (5) megadott számú elemét hagyja ki az eredményből
  98.             int[] elemekAzElsoOtKivetelevel = tomb.Skip(5).ToArray();
  99.  
  100.             //SkipWhile Páratlanok kihagyva az elejéről - az objektum kollekció feltételnek megfelelő elemeit hagyja ki az eredményből
  101.             int[] paratlanokKihagyvaAzElejerol = tomb.SkipWhile(s => s % 2 == 1).ToArray();
  102.  
  103.             //var Szűrés
  104.             var mindenfele = from x in tomb    //FILTERING
  105.                              where x % 2 == 0
  106.                              select new { Szam = x, Negyzete = x * x, Stringkent = x.ToString() };
  107.  
  108.             Console.WriteLine();
  109.             Console.ReadLine();
  110.         }
  111.  
  112.         static bool PrimE(int elem)
  113.         {
  114.             int osztokDB = 0;
  115.             for (int i = 1; i <= elem; i++)
  116.             {
  117.                 if (elem % i == 0)
  118.                 {
  119.                     osztokDB++;
  120.                 }
  121.             }
  122.             return osztokDB == 2;
  123.  
  124.         }
  125.  
  126.     }
  127.  
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement