예제 #1
0
        public static void Interf()
        {
            Persona persona1 = new Persona()
            {
                Nome    = "Pio",
                Cognome = "Rossi"
            };

            persona1.LogInfo("Funziona");

            int x = 0;

            try
            {
                double num = 4 / x;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            Persona persona2 = new Impiegato()
            {
                Nome    = "Alice",
                Cognome = "Colella"
            };

            persona2.LogInfo("Funziona anche con impiegato");

            ILogging[] loggings = { persona2 };
            foreach (ILogging item in loggings)
            {
                item.LogInfo("Prova ciclo");
            }
        }
예제 #2
0
        public static void EsercizioTipo()
        {
            #region value type vs references type
            //value type

            //bool
            bool x = true;
            bool y = false;
            bool z = !x;
            Console.WriteLine("Valore z: {0}", z);

            //Numerici
            int i      = 0;
            int j      = 34;
            int numero = 1 * (2 + 3) * 4;

            float   f    = 1f / 3F;
            double  doub = 1d / 3d;
            decimal dec  = 1m / 3m;
            Console.WriteLine("Float: " + f);     //meno cifre decimali
            Console.WriteLine("Double: " + doub); //medio
            Console.WriteLine("Decimal: " + dec); //più cifre di tutti

            Console.WriteLine($"Range float: " + float.MinValue + " - " + float.MaxValue);
            Console.WriteLine($"Range double: " + double.MinValue + " - " + double.MaxValue);
            Console.WriteLine($"Range decimal: " + decimal.MinValue + " - " + decimal.MaxValue);

            //DateTime
            DateTime now   = DateTime.Now;
            DateTime today = DateTime.Today;
            DateTime date  = new DateTime(2020, 12, 25);
            Console.WriteLine("Data ora: " + now);
            Console.WriteLine("Data oggi: " + today);
            Console.WriteLine("Data natale: " + date);

            DateTime tomorrow = now.AddDays(1);
            DateTime In5Hours = now.AddHours(5);
            Console.WriteLine("Tomorrow: " + tomorrow + ", 5 ore: " + In5Hours);

            //enum, definito all'inizio
            Stato myStato = Stato.New;

            if (myStato == Stato.New) // o == 0, stessa cosa
            {
                Console.WriteLine("MyStato contiene New");
            }



            //references type

            //string
            string nome = " Maria Chiara Colla ";
            Console.WriteLine("Nome Completo: " + nome + ",");
            int lunghezza = nome.Length;
            Console.WriteLine("Lunghezza nome completo: " + lunghezza);
            string trimString = nome.Trim();
            Console.WriteLine("Nome completo senza spazi: " + trimString + ",");
            string subString = nome.Substring(0, 13); //da dove inizia e dove finisce
            Console.WriteLine("Solo nome: " + subString);

            //classi (nuova cartella: Classi)
            Console.Clear(); // resetta la console

            Console.WriteLine("_________ CLASSI _________");

            Persona persona = new Persona();
            try
            {
                persona.CodiceFiscale = "RSSMRC";
                persona.Nome          = "Marco";
                persona.Cognome       = "Rossi";
                persona.DataNascita   = new DateTime(1958, 07, 20);
            }catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            Persona persona2 = new Persona()
            {
                Nome          = "Alessia",
                Cognome       = "Bianchi",
                CodiceFiscale = "BNCLSS59G57J123M"
            };

            Console.WriteLine(persona.FullName("Signor"));
            Console.WriteLine(persona2.FullName("Signora"));

            Impiegato impiegato = new Impiegato()
            {
                Nome          = "Luca",
                Cognome       = "Gialli",
                CodiceFiscale = "GLLLCU12N45L456C",
                NumeroFigli   = 1,
                DataNascita   = new DateTime(1987, 11, 15)
            };
            Console.WriteLine(impiegato.FullName(""));

            Persona impiegato2 = new Impiegato()  //prende l'implementazione di impiegato
            {
                Nome          = "Anna",
                Cognome       = "Neri",
                CodiceFiscale = "NRENNA09V67N186X",
                DataNascita   = new DateTime(1989, 09, 02),
                NumeroFigli   = 3
            };

            Console.WriteLine(impiegato2.FullName(""));

            Manager m = new Manager();


            //interfacce
            persona.LogInfo("Il log funziona");
            impiegato.LogInfo("log ok");  //funziona comunque, lo eredita dalla classe padre
            impiegato2.LogInfo("log ok"); //funziona anche qui, stesso motivo

            //classe computer e interfaccia ilogging
            Computer myComputer = new Computer()
            {
                Modello = "DELL XPS 9570"
            };

            myComputer.LogInfo("Funziona anche per la classe computer");

            //array dell'interfaccia
            ILogging[] loggingItems = { myComputer, persona };
            foreach (var elem in loggingItems)
            {
                elem.LogInfo("Prova");
            }

            //eccezioni
            Persona persona1 = new Persona();
            try
            {
                persona1.CodiceFiscale = "RSSMRC";
                persona1.Nome          = "Marco";
                persona1.Cognome       = "Rossi";
                persona1.DataNascita   = new DateTime(1958, 07, 20);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            try
            {
                int a      = 5;
                int b      = 0;
                int result = a / b;
                Console.WriteLine(result);
            }
            catch (DivideByZeroException d)
            {
                Console.WriteLine("Divide by Zero Exception: " + d.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception: " + e.Message);
            }



            #endregion
        }