Exemplo n.º 1
0
        static void Main(string[] args)
        {
            Ember        ember   = new Ember();
            List <Ember> emberek = new List <Ember>();

            try
            {
                FileStream fajl = new FileStream(@"d:/rud/tesztadat_20k.txt", FileMode.Open);


                using (StreamReader sr = new StreamReader(fajl, Encoding.Default))
                {
                    while (!sr.EndOfStream)
                    {
                        //a fájl egy sorának feldolgozása tömbbe
                        var e = sr.ReadLine().Split(',');
                        ember.vezeteknev = e[0];
                        ember.keresztnev = e[1];
                        //konvertálni kell számra
                        ember.szuletesiEv   = Convert.ToInt32(e[2]);
                        ember.szuletesiHely = e[3];

                        emberek.Add(ember);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            Console.WriteLine($"Adatsorok száma:{emberek.Count}");

            var hatvankilenc = emberek.FindAll(x => x.szuletesiEv == 1969);
            //adott feltételnek megfelelő adatok megszámolása
            var mennyi = emberek.Count(x => x.szuletesiEv == 1969);

            Console.WriteLine(hatvankilenc.Count);

            foreach (var h in hatvankilenc)
            {
                Console.WriteLine($"{h.vezeteknev},{h.keresztnev},{h.szuletesiEv},{h.szuletesiHely}");
            }

            var bencek = emberek.FindAll(x => x.keresztnev.ToLower() == "bence");



            Console.WriteLine($"Ennyi Bence van:{bencek.Count}");
            //Csoportosítások

            //csoportosítás egy vagy akár több adat szerint
            var csoport = hatvankilenc.ToLookup(x => x.vezeteknev).OrderBy(x => x.Key);

            foreach (var c in csoport)
            {
                Console.WriteLine($"Vezetéknév:{c.Key},{c.Count()}.db");
            }

            //születési hely és keresztnév
            var szhely = hatvankilenc.OrderBy(x => x.szuletesiHely).ThenBy(x => x.keresztnev).ToLookup(x => new { x.szuletesiHely, x.keresztnev });

            foreach (var sz in szhely)
            {
                Console.WriteLine($"{sz.Key.szuletesiHely},{sz.Key.keresztnev},{sz.Count()}");
            }

            //Az egyes években hányan születtek, az eredmény legyen csökkenő sorrenben

            var eves = emberek.ToLookup(x => x.szuletesiEv).OrderByDescending(x => x.Count());

            foreach (var e in eves)
            {
                Console.WriteLine($"{e.Key},{e.Count()}");
            }
            //Az egyes években milyen keresztnevű emberek születtek, név szerint növekvő sorrendben
            var eveskeresztnev = emberek.ToLookup(x => new { x.szuletesiEv, x.keresztnev }).OrderBy(x => x.Key.keresztnev);

            foreach (var e in eveskeresztnev)
            {
                Console.WriteLine($"{e.Key.keresztnev},{e.Key.szuletesiEv},{e.Count()}");
            }



            try
            {
                FileStream outFajl = new FileStream(@"d:/h9.txt", FileMode.Create);
                using (StreamWriter sw = new StreamWriter(outFajl, Encoding.Default))
                {
                    foreach (var h in hatvankilenc)
                    {
                        sw.WriteLine($"{h.vezeteknev},{h.keresztnev},{h.szuletesiEv},{h.szuletesiHely}");
                    }
                }
                Console.WriteLine("Kiírás kész!");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }


            Console.ReadKey();
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            //A struktúra érték típus
            Ember        ember   = new Ember();
            List <Ember> emberek = new List <Ember>();



            try
            {
                FileStream file = new FileStream(@"d:/rud/tesztadat_20k.txt", FileMode.Open);


                //használat után felszabadítja az erőforrást
                using (StreamReader sr = new StreamReader(file, Encoding.Default))
                {
                    while (!sr.EndOfStream)
                    {
                        //feldolgozás
                        var elemek = sr.ReadLine().Split(',');
                        ember.vezeteknev = elemek[0];
                        ember.keresztnev = elemek[1];
                        ember.szulev     = Convert.ToInt32(elemek[2]);
                        ember.szulhely   = elemek[3];

                        emberek.Add(ember);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }


            Console.WriteLine(emberek.Count);

            var hetven = emberek.FindAll(x => x.szulev == 1970);

            Console.WriteLine(hetven.Count);

            //foreach (var h in hetven)
            //{
            //    Console.WriteLine($"{h.vezeteknev},{h.keresztnev},{h.szulev},{h.szulhely}");
            //}
            //k-val kezdődő vezetéknevű emberek
            var kkezd = emberek.FindAll(x => x.vezeteknev.ToLower().StartsWith("k"));

            //Console.WriteLine($"K-val kezdődő vezetéknevek:{kkezd}.db");

            //Készítsen összesítést, ami megadja, hogy az egyes helyiségekben
            //hányan születtek!
            var helyisegek = emberek.ToLookup(x => x.szulhely).OrderBy(x => x.Count());

            //foreach (var h in helyisegek)
            //{
            //    Console.WriteLine($"{h.Key},{h.Count()}");
            //}

            //születési év és hely szerinti összesítés
            var szhelyev = emberek.ToLookup(x => new { x.szulhely, x.szulev }).OrderBy(x => x.Key.szulhely).ThenBy(x => x.Key.szulev);

            foreach (var s in szhelyev)
            {
                Console.WriteLine($"{s.Key.szulhely},{s.Key.szulev},{s.Count()}");
            }


            try
            {
                FileStream outFajl = new FileStream(@"d:/kkezd.txt", FileMode.Create);
                using (StreamWriter sw = new StreamWriter(outFajl, Encoding.Default))
                {
                    foreach (var k in kkezd)
                    {
                        sw.WriteLine($"{k.vezeteknev},{k.keresztnev},{k.szulev},{k.szulhely}");
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }


            Console.ReadKey();
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            //1. megoldás
            //try
            //{
            //    FileStream fajl = new FileStream(@"d:/rud/tesztadat_20k.txt", FileMode.Open);
            //    StreamReader sr = new StreamReader(fajl, Encoding.Default);

            //    while (!sr.EndOfStream)
            //    {
            //        Console.WriteLine(sr.ReadLine());
            //    }

            //    sr.Close();
            //}
            //catch (Exception ex)
            //{
            //    Console.WriteLine(ex.Message);
            //}


            //2. megoldás, fájl zárása a finally block-ban

            //FileStream fajl = null;
            //StreamReader sr = null;

            //try
            //{
            //    fajl = new FileStream(@"d:/rud/tesztadat_20k.txt", FileMode.Open);
            //    sr = new StreamReader(fajl, Encoding.Default);

            //    while (!sr.EndOfStream)
            //    {
            //        Console.WriteLine(sr.ReadLine());
            //    }


            //}
            //catch (Exception ex)
            //{
            //    Console.WriteLine(ex.Message);
            //}
            //finally
            //{
            //    //Amit itt van az minden esetben végrehajtódik
            //    //Logikus, hogy itt zárjuk be a fájlt
            //    if (sr!=null)
            //    {
            //        sr.Close();
            //    }


            //}

            //3. megoldás

            List <Ember> emberek = new List <Ember>();

            try
            {
                FileStream fajl = new FileStream(@"d:/rud/tesztadat_20k.txt", FileMode.Open);

                using (StreamReader sr = new StreamReader(fajl, Encoding.Default))
                {
                    while (!sr.EndOfStream)
                    {
                        var   elemek = sr.ReadLine().Split(',');
                        Ember ember  = new Ember
                        {
                            Vezeteknev    = elemek[0],
                            Keresztnev    = elemek[1],
                            SzuletesEve   = Convert.ToInt32(elemek[2]),
                            Szuletesihely = elemek[3]
                        };
                        emberek.Add(ember);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }


            Console.WriteLine(emberek.Count);

            var al = emberek.FindAll(x => x.Vezeteknev.ToLower().StartsWith("al")).OrderBy(x => x.Vezeteknev).ThenBy(x => x.Keresztnev);

            Console.WriteLine(al.Count());

            foreach (var n in al)
            {
                Console.WriteLine($"{n.Vezeteknev},{n.Keresztnev},{n.SzuletesEve},{n.Szuletesihely}");
            }

            var alstat = al.ToLookup(x => new { x.Vezeteknev, x.Keresztnev });

            foreach (var n in alstat)
            {
                Console.WriteLine($"{ n.Key.Vezeteknev},{n.Key.Keresztnev },{ n.Count()}");
            }

            //Kiírás fájlba
            try
            {
                FileStream outFajl = new FileStream($"d:/eredmeny.txt", FileMode.Create);

                using (StreamWriter sw = new StreamWriter(outFajl, Encoding.Default))
                {
                    foreach (var a in al)
                    {
                        sw.WriteLine($"{a.Vezeteknev},{a.Keresztnev},{a.SzuletesEve},{a.Szuletesihely}");
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }



            Console.ReadKey();
        }