Пример #1
0
        static void Main(string[] args)
        {

            Class1 class1 = new Class1();
            class1.printHW();

            /*
                Primer prednosti generičnih tipov
            */
            List<int> integerList = new List<int>();
            List<double> doubleList = new List<double>();

            Class1.doList(integerList);
            Class1.doList(doubleList);
            
            /*
               Definicija strukta
            */
            Class1.Data data1 = new Class1.Data();
            data1.name = "Jan";
            data1.surname = "Gasperlin";
            data1.print();

            Class1.Data data2 = new Class1.Data();
            data2.name = "Jan2";
            data2.surname = "Gasperlin2";

            Class1.Data[] dataArray = { data1, data2 };
            class1.setDataArray(dataArray);


            /*
                Primer ko-rutine
            */
            foreach (String s in class1.yieldExample())
            {
                Console.WriteLine(s);
            }

            /*
                Definicija delegata, funkcija kot parameter
            */
            MyFunction f = Math.Sin;
            double y = f(12.0);


            /*
                Primer manipulacije kazalcev
            */
            Class1.ptr();


            /*
                Primer GC
            */

            GC.Collect();

            Class1.generateGarbange(1);
            Class1.generateGarbange(5);
            Class1.generateGarbange(500);

            /*
                Alokacija pomnilnika, brez nadzora GC
            */
            IntPtr pointer = Marshal.AllocHGlobal(1000); // Alokacija nenadzorovanega pomnilnika            
            Marshal.FreeHGlobal(pointer); // Sprostitev pomnilnika            
            

            char c = Console.ReadKey().KeyChar;
        }