예제 #1
0
    static void Main()
    {
        Kutya k1 = new Kutya("Bodri", 2010, "fox-terrier");

        k1.Ugat();
        k1.Bemutatkozik();
    }
예제 #2
0
        static void Main(string[] args)
        {
            Kutya kutya = new Kutya(); //A függvényeket a kutya "felől" hívom


            kutya.Koszon();
            kutya.Enekel();
            kutya.Beszel();


            //Ebben az esetben a háziállat felől hívom a függvényeket. Lehet a Haziallat típusba new Kutya-t tenni hiszen abból származik
            Haziallat kutya2 = new Kutya();


            kutya2.Koszon();
            kutya2.Enekel();
            kutya2.Beszel();


            //direktben ki tudok jelölni egy felületet, most a Haziallat tipusu változónak a Kutya felületét használom
            ((Kutya)kutya2).Koszon();
            ((Kutya)kutya2).Enekel();
            ((Kutya)kutya2).Beszel();

            var haziallat2 = new Haziallat();
            // ((Kutya)haziallat2).Beszel(); invalid cast kivétel

            //Hogyan érdemes típuskonverziót csináltatni
            //Az object minden objektum ősosztálya, így bele lehet tenni bármilyen objektumot

            object o = kutya;

            //Kivenni hogy lehet? Ez a leggyorsabb
            if (o is Kutya)
            {
                Console.WriteLine("Ez egy kutya");
                Kutya k = (Kutya)o;
            }

            //as kulcsszóval konvertálok
            Kutya k2 = o as Kutya;

            if (k2 != null)
            {//sikerült a konverzió
                Console.WriteLine("Ő egy kutya");
                Kutya k = (Kutya)o;
            }
            //try catch-el mivel elszállhat a konvertálási kísérlet ez a leglassabb módszer

            try
            {
                Kutya k3 = (Kutya)o;
            }
            catch (Exception)
            {
                Console.WriteLine("Elszállt");
            }

            Console.ReadLine();
        }
예제 #3
0
    static void Main()
    {
        Kutya k1 = new Kutya("Bodri", 2010, "fox-terrier");
        Kutya k2 = new Kutya("Gubanc", 2015, "puli");
        Kutya k2 = new Kutya("Rozsda", 2015, "tacskó");

        Console.WriteLine("k1 kutya neve: ", k1.Nev);
        Console.WriteLine("k2 kutya születési éve: ", k2.Szul_ev);
    }
예제 #4
0
 private static void ObjectbolKutya1(object o)
 {
     if (o is Kutya)
     {
         //Console.WriteLine("Ő egy kutya (is)");
         Kutya k = (Kutya)o;
         //k.Beszel(); //így már jó
     }
     else
     {
         //Console.WriteLine("Ez sajnos nem kutya (is)");
     }
     //Console.WriteLine();
 }
예제 #5
0
        private static void ObjectbolKutya2(object o)
        {
            Kutya k2 = o as Kutya; // Ha as-t használunk akkor csak akkor végzi el a konverziót ha az lehetséges egyébként null értéket ad vissza

            if (k2 != null)
            { // sikeres konverzió
                //Console.WriteLine("Ő egy kutya (as)");
                // k2.Beszel(); //már ez is jó lenne de most töltsük át
                Kutya k = (Kutya)o; // mivel a k változót előzőleg is egy blokkon belül hoztuk létre ezért itt újra felhasználható
                //k.Beszel();
            }
            else
            {
                //Console.WriteLine("Ez sajnos nem kutya (as)");
            }
            //Console.WriteLine();
        }
예제 #6
0
 private static void ObjectbolKutya3(object o)
 {
     //esetleg megpróbálhatjuk átkonvertálni vagy sikerül vagy nem alapon
     // mivel ez elszálhat ezért célszerű egy try catch hibakezelő blokkot használni
     try
     {
         Kutya k3 = (Kutya)o;
         //Console.WriteLine("Ő egy kutya (try)"); // A méréshez kivesszük a kiíró utasításokat mindhárom fv-ből
         //k3.Beszel;  //már ez is jó lenne de most töltsük át
         //Kutya k = (Kutya)o;
         //k.Beszel();
     }
     catch (Exception)
     {
         //Console.WriteLine("Ez sajnos nem kutya (try)");
     }
 }
예제 #7
0
        static void Main(string[] args)
        {
            Kutya bodri = new Kutya("Bodri");

            bodri.ugat(3);
            Console.WriteLine();
            bodri.bemut();

            Puli p = new Puli("Puli");

            p.ugat(12);

            Kutya bogancs = new Kutya("bogancs", "komondor");

            bogancs.bemut();

            Console.ReadKey();
        }
예제 #8
0
        static public void Feladatok()
        {
            FileBeolvas       kutyaNevek      = new FileBeolvas("kutyaNevek.csv");
            List <KutyaNev>   kutyaNevLista   = KutyaNev.KutyaNevListaLetrehozasa(kutyaNevek.ListaLetrehozas(';'));
            FileBeolvas       kutyaFajtak     = new FileBeolvas("kutyaFajtak.csv");
            List <KutyaFajta> kutyaFajtaLista = KutyaFajta.KutyaFajtaListaLetrehozasa(kutyaFajtak.ListaLetrehozas(';'));
            FileBeolvas       kutyak          = new FileBeolvas("kutyak.csv");
            List <Kutya>      kutyaLista      = Kutya.KutyaListaLetrehozasa(kutyak.ListaLetrehozas(';'));

            HarmadikFeladat.Megoldas(kutyaNevLista);
            HatodikFeladat.Megoldas(kutyaLista);
            HetedikFeladat.Megoldas(kutyaLista, kutyaNevLista, kutyaFajtaLista);
            NyolcadikFeladat.Megoldas(kutyaLista, kutyaFajtaLista);
            KilencedikFeladat.Megoldas(kutyaLista);
            TizedikFeladat.Megoldas(kutyaLista, kutyaNevLista);

            Console.ReadKey(true);
        }
예제 #9
0
파일: Program.cs 프로젝트: Bolivia1/CSharp
        static void Main(string[] args)
        {
            Ember imi = new Ember();          //új példány létrehozása az osztályból

            Console.WriteLine(imi.Beszelj()); //Példányon Beszélj() metódus meghívása

            Kutya bodri = new Kutya();

            Console.WriteLine(bodri.Beszelj());

            IBeszlokepes[] beszelokepesObjektumok = new IBeszlokepes[2]; //közös tulajdonság - ilyen típusú tömb definiálása
            beszelokepesObjektumok[0] = imi;                             //tömb elemeinek felvétele
            beszelokepesObjektumok[1] = bodri;

            for (int i = 0; i < beszelokepesObjektumok.Length; i++)
            {
                Console.WriteLine(beszelokepesObjektumok[i].Beszelj()); //tömb elemein metódus meghívása
            }

            Console.ReadKey(); //ablak ottmaradjon
        }
예제 #10
0
    static Kutya[] kutyak = new Kutya[5];    //Kutya típusú változók
    static void Main()
    {
        kutyak[0] = new Kutya("Bodri", 3);        //
        kutyak[1] = new Kutya("Füles", 5);        //
        kutyak[2] = new Kutya("Borzas", 1);       //
        kutyak[3] = new Kutya("Tücsök", 2);       //
        kutyak[4] = new Kutya("Bogáncs", 7);      //
        for (int i = 0; i < 5; i++)
        {
            kutyak[i].Bemutatkozik();
            kutyak[i].Ugat(i + 1);
        }
        //ugyanez foreach ciklussal:
        int j = 0;

        foreach (Kutya kutyapeldany in kutyak)
        {
            kutyapeldany.Bemutatkozik();
            kutyapeldany.Ugat(j + 1);
            j++;
        }
    }
예제 #11
0
        static void Main(string[] args)
        {
            // A függvények a kutya oldaláról vannak meghívva
            Kutya kutya = new Kutya();

            kutya.Koszon();
            kutya.Enekel();
            kutya.Beszel();


            // eredmény:

            /*   A háziállat köszön.
             *   A kutya enekel.
             *   A kutya beszél.*/

            Console.WriteLine();

            //A függvényeket a háziállat felől is meghívhatjuk
            Haziallat haziallat = new Kutya();

            haziallat.Koszon();
            haziallat.Enekel();
            haziallat.Beszel();

            //eredmény
            //A háziállat köszön.
            //A háziállat énekel.
            //A kutya beszél.



            Console.WriteLine();

            //Direktben ki tudok jelölni felületet
            //A Haziallat tipusú változónak veszem a Kutya felületét
            // így ismét a kutya felől közelítek

            ((Kutya)haziallat).Koszon();
            ((Kutya)haziallat).Enekel();
            ((Kutya)haziallat).Beszel();

            Console.WriteLine();

            //eredmény ugyanaz mint először
            //A háziállat köszön.
            //A kutya enekel.
            //A kutya beszél.
            // ez a castolás ezt nem ellenőrzi a fordító ha olyan castolást csinálunk ami nem lehetséges az futásidejű hibát generál

            // var haziallat2 = new Haziallat();
            // ((Kutya)haziallat2).Beszel(); //mivel a haziallat2 egy Haziallat tipusú objektum ezért neki nincs Kutya felülete

            // Hogy érdemes típuskonverziót végezni?
            // Az object osztály minden osztály ősosztálya minden objektum beletehető egy ijen típusú változóba

            object o = new Kutya();

            //o.Beszel(); nincs ilyen metódusa
            //de hogy lehet innen kivenni?

            //ellenpróba ha az o-ba háziállatot teszek mivel objektum típusú ezért bármilyen osztály objektumával felülírható
            //o = new Haziallat();

            ObjectbolKutya1(o);

            ObjectbolKutya2(o);

            ObjectbolKutya3(o);

            //  nézzük meg a teljesítményeket
            // létrehozunk egy objektumtömböt feltöltjük kutyákkal és házállatokkal és megnézzük melyik függvény a gyorsabb
            var olist = new object[1000];

            for (int i = 0; i < 1000; i++)
            {
                if (i % 2 == 0)
                {
                    olist[i] = new Haziallat();
                }
                else
                {
                    olist[i] = new Kutya();
                }
            }
            var sw = new System.Diagnostics.Stopwatch();

            sw.Start();
            for (int i = 0; i < 1000; i++)
            {
                ObjectbolKutya1(olist[i]);
            }
            Console.WriteLine("1-es módszer: {0}", sw.ElapsedTicks);

            sw.Restart();
            for (int i = 0; i < 1000; i++)
            {
                ObjectbolKutya2(olist[i]);
            }
            Console.WriteLine("2-es módszer: {0}", sw.ElapsedTicks);

            sw.Restart();
            for (int i = 0; i < 1000; i++)
            {
                ObjectbolKutya3(olist[i]);
            }
            Console.WriteLine("3-as módszer: {0}", sw.ElapsedTicks);

            Console.ReadKey();
        }
예제 #12
0
        static void Main(string[] args)
        {
            DateTime jelenlegiIdo = DateTime.Now;

            Console.WriteLine(jelenlegiIdo);


            Nullable <DateTime> regiIdo = null;
            string proba = null;

            Console.WriteLine(proba?.ToUpper());
            Console.WriteLine(proba);

            Console.WriteLine(regiIdo);
            Console.WriteLine(regiIdo.HasValue);
            //Console.WriteLine(regiIdo.Value);
            Console.WriteLine(regiIdo.ToString());

            ArrayList kutyak = new ArrayList();

            Kutya kutya1 = new Kutya();
            Kutya kutya2 = new Kutya();
            Kutya kutya3 = null;

            kutya1.Name = "Bodri";
            kutya1.Age  = 12;
            Console.WriteLine(kutya2.szulDatumMegado());

            kutya2.Name = "Kutyus";
            kutya2.Age  = 10;

            kutyak.Add(kutya1);
            kutyak.Add(kutya2);

            Console.WriteLine(((Kutya)kutyak[0]).Name);

            StringBuilder sb = new StringBuilder("Hello");

            sb.Append(" ");
            sb.Append("world!");
            string koszontes = sb.ToString();

            Console.WriteLine(koszontes);

            string ujKoszones = "Hello World!";

            Console.WriteLine(ujKoszones);
            //bool egyeznek = koszontes.Equals(ujKoszones);
            bool   egyeznek = String.Compare(koszontes, ujKoszones, true) == 0;
            string uzenet   = egyeznek ? "A két string azonos" : "A két string nem azonos.";

            Console.WriteLine(uzenet);

            string tajszam = "012345678";
            string regex   = @"^\d{9}$";
            bool   helyes  = Regex.IsMatch(tajszam, regex);

            Console.WriteLine(helyes);

            char   karakter                = 'e';
            byte   konvertaltKarakter      = (byte)karakter;
            string stringgeKonvertalt      = karakter.ToString();
            string masikStringgeKonvertalt = konvertaltKarakter.ToString();

            Console.WriteLine(karakter);
            Console.WriteLine(konvertaltKarakter);
            Console.WriteLine(stringgeKonvertalt);
            Console.WriteLine(masikStringgeKonvertalt);


            /* string[] stringek = { "alma", "karalábé", "hús" };
             * int aBetukSzama = 0;
             * char keresettKarakter = 'a';
             * StringBuilder sbx = new StringBuilder();
             * for(var i = 0; i<stringek.Length; i++) {
             *   sbx.Append(stringek[i]);
             *   sbx.Append(" ");
             * }
             * string strOsszefuzes = sbx.ToString();
             *
             * for(int i = 0; i<strOsszefuzes.Length; i++) {
             *   if(strOsszefuzes[i]==keresettKarakter) {
             *       aBetukSzama++;
             *   }
             * }
             *
             * string betukUzenet = aBetukSzama>0?"A megadott szövegben "+aBetukSzama+" darab "+keresettKarakter+" betű volt.": "A megadott szövegben nem volt egyetlen egy "+keresettKarakter+" sem";
             * Console.WriteLine(betukUzenet);*/


            long longValue = Int64.MaxValue;
            int  intValue  = (int)longValue;

            Console.WriteLine("(int) {0} = {1}", longValue, intValue);

            int number = int.MaxValue;

            Console.WriteLine(checked (++number));

            Console.ReadKey();
        }