示例#1
0
        public MainWindow()
        {
            int thId = Thread.CurrentThread.ManagedThreadId;

            int x = Random();

            act  = InitializeComponent;
            act2 = (int a, DateTime b, int?c, int?d) => { };

            string r = "_";

            if (DateTime.Now.DayOfWeek == DayOfWeek.Monday)
            {
                act4 = metodo;
            }
            else
            {
                act4 = metodo;
            }

            string str = act4(DateTime.Now, 9, new List <bool>()
            {
                true, false
            });

            ElaboraByte sequenza2 = step3;

            sequenza2 += step4;
            sequenza2 += step1;
            sequenza2 += step4;
            sequenza2 += step2;

            foreach (ElaboraByte item in sequenza2.GetInvocationList())
            {
                r = item.Invoke(r);
            }

            string finale = sequenza2("_");


            Metodo sequenza = new Metodo(m1) + m1 + m1;

            sequenza += m1;
            sequenza += m1;
            sequenza += m1;
            // sequenza = null;

            try
            {
                sequenza();
            }
            catch (Exception ex)
            {
            }

            sequenza = sequenza - m2;
            //sequenza();
            Delegate[] elenco = sequenza.GetInvocationList();

            // L'indirizzo di memoria del metodo chiamato InitializeComponent
            Metodo     puntatore  = InitializeComponent;
            Aritmetica somma      = this.sommaDueNumeri;
            Aritmetica somma1     = new Aritmetica(sommaDueNumeri);
            int        risultato1 = somma(8, 17);
            int        risultato2 = sommaDueNumeri(8, 17, () => { });

            InitializeComponent();

            ArrayList list = new ArrayList(20);

            list.Add(67);
            list.Add(true);
            list.Add(DateTime.Now);
            list.Add(89.45345);
            list.IndexOf(89.45345);
            // Perdita di performance a run-time
            // int number = (int)list[1];

            // Boxing & Unboxing
            DateTime         dt    = (DateTime)list[2];
            StringCollection list1 = new StringCollection();

            list1.Add("mdlkgnkldngkdffnkj");
            list1.Add("mdlkgnkldngkdffnkj");
            list1.Add("mdlkgnkldngkdffnkj");
            list1.Add("mdlkgnkldngkdffnkj");
            // list1.Add(34);

            var bytes = new byte[3] {
                5, 8, 10
            };
            BitArray ba = new BitArray(bytes);

            List <double>   pesiPersone     = new List <double>();
            List <bool>     statoAllarmi    = new List <bool>();
            List <DateTime> compleanniAmici = new List <DateTime>();

            List <Fattura> fatture = new List <Fattura>()
            {
                new Fattura(),
                new Fattura(),
                new Fattura()
            };
            var date = fatture.DammiPagamenti();

            fatture.Add(new Fattura());

            pesiPersone.Contains(78);
            statoAllarmi.Add(true);
            // Compile time
            //double pesoIgor = pesiPersone[0];
            int index = pesiPersone.IndexOf(89.3);

            Stack stack1 = new Stack();

            stack1.Push(4);
            stack1.Push("");
            string          pop = stack1.Pop().ToString();
            Stack <string>  stack2;
            Queue <Fattura> coda;

            ObservableCollection <Fattura> list3 = new ObservableCollection <Fattura>();
            //list3.AddRange();
            Dictionary <string, Fattura> tim = new Dictionary <string, Fattura>();
            // Fattura f1 = tim["5u4564545/2018"];

            // Calcolatrice<bool> calc = new Calcolatrice<bool>();
            //Calcolatrice<HttpClient> calc2 = new Calcolatrice<HttpClient>();
            Calcolatrice <Fattura> calc3 = new Calcolatrice <Fattura>();
            //Calcolatrice<Cliente> calc4;
            // Calcolatrice<BitArray> calc4 = new Calcolatrice<BitArray>();



            // calc3.Set(fp);

            // Anonymous Type
            var persona1 = new
            {
                Nome    = "",
                Cognome = "",
                Eta     = 42
            };

            // Object Initializer
            var persona2 = new Persona("Fabrizio")
            {
                Nome    = "",
                Cognome = "",
                Eta     = 42
            };

            //persona2.Nome = "";
            //persona2.Cognome = "";
            //persona2.Eta = 42;
            var pari = new List <int>()
            {
                2, 4, 6, 8, 10
            };

            int?annoNascita = 2018;

            annoNascita = null;
            annoNascita = 7;
            annoNascita++;
            annoNascita--;
            bool pari2 = annoNascita % 2 == 0;

            if (!annoNascita.HasValue)
            {
                // MsgBox
            }
            else
            {
                Console.WriteLine(annoNascita.Value);
            }
            int x5 = annoNascita.GetValueOrDefault();

            int?distanza1 = null;
            int?distanza2 = 1;
            int?totale    = distanza1 + distanza2;

            // Mi registro l'evento FatturaAppenaPagata
            fp.FatturaAppenaPagata += fattura_FatturaAppenaPagata;

            // Non riesco a deregistrare l'evento perchè non ho un nome
            // da utilizzare con -=
            fp.FatturaAppenaPagata += (o, s) => { };
        }