Ejemplo n.º 1
0
        public static void Main(string[] args)
        {
            //声明一个整形数组
            MyGenericArray <int> intArray = new MyGenericArray <int>(5);

            //设置值
            for (int c = 0; c < 5; c++)
            {
                intArray.setItem(c, c * 5);
            }
            //获取值
            for (int c = 0; c < 5; c++)
            {
                Console.WriteLine(intArray.getItem(c) + " ");
            }
            Console.WriteLine();


            //声明一个字符数组
            MyGenericArray <char> charArray = new MyGenericArray <char>(10);

            //设置值
            for (int i = 0; i < 10; i++)
            {
                charArray.setItem(i, (char)(i + 97));
            }
            //获取值
            for (int k = 0; k < 10; k++)
            {
                Console.WriteLine(charArray.getItem(k) + " ");
            }

            Console.WriteLine();
            Console.ReadKey();



            int  a, b;
            char e, f;

            a = 10;
            b = 5;
            e = 'f';
            f = 'g';


            // 在交换之前显示值
            Console.WriteLine("Int values before calling swap:");
            Console.WriteLine("a = {0}, b = {1}", a, b);
            Console.WriteLine("Char values before calling swap:");
            Console.WriteLine("c = {0}, d = {1}", e, f);
            // 调用 swap
            Program.Swap <int> (ref a, ref b);
            Program.Swap <char> (ref e, ref f);

            // 在交换之后显示值
            Console.WriteLine("Int values after calling swap:");
            Console.WriteLine("a = {0}, b = {1}", a, b);
            Console.WriteLine("Char values after calling swap:");
            Console.WriteLine("c = {0}, d = {1}", e, f);
            Console.ReadKey();


            NumberChanger <int> cn1 = new NumberChanger <int>(AddNum);
            NumberChanger <int> cn2 = new NumberChanger <int>(MultNum);

            cn1(25);
            cn2(5);
            Console.WriteLine("Value of Num: {0}", getNum());
            Console.ReadKey();
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            //instanciating class or declaring the array
            //MyGenericArray obj = new MyGenericArray(5);
            ////setting the values
            //for(int i=0;i<5;i++)
            //{
            //    obj.setItem(i, i * 5);
            //}

            ////retrieving the values
            //for (int i = 0; i < 5; i++)
            //{
            //    Console.Write(obj.getItem(i) + " ");
            //}

            //Generic class
            MyGenericArray <int> objIntArray = new MyGenericArray <int>(5);

            //setting the values
            for (int i = 0; i < 5; i++)
            {
                objIntArray.setItem(i, i * 5);
            }

            //retrieving the values
            for (int i = 0; i < 5; i++)
            {
                Console.Write(objIntArray.getItem(i) + " ");
            }

            Console.WriteLine();
            Console.WriteLine("Entering characters");
            //declaring a character array
            MyGenericArray <char> objCharArray = new MyGenericArray <char>(5);

            //setting the values
            for (int i = 0; i < 5; i++)
            {
                objCharArray.setItem(i, (char)(i + 97));
            }

            //retrieving the values
            for (int i = 0; i < 5; i++)
            {
                Console.Write(objCharArray.getItem(i) + " ");
            }
            Console.WriteLine();
            //non-Generic method
            GenericMethod objMethod = new GenericMethod();
            int           a         = 10;
            int           b         = 20;
            char          c         = 'S';
            char          d         = 'M';

            Console.WriteLine("Values before swapping");
            Console.WriteLine("a={0},b={1}", a, b);
            Console.WriteLine("c={0},d={1}", c, d);

            objMethod.swapInt(ref a, ref b);
            objMethod.swapChar(ref c, ref d);

            Console.WriteLine("Values after swapping");
            Console.WriteLine("a={0},b={1}", a, b);
            Console.WriteLine("c={0},d={1}", c, d);


            //generic method
            Console.WriteLine("Values before swapping in Genreric");
            Console.WriteLine("a={0},b={1}", a, b);
            Console.WriteLine("c={0},d={1}", c, d);

            objMethod.swapGeneric <int>(ref a, ref b);
            objMethod.swapGeneric <char>(ref c, ref d);

            Console.WriteLine("Values after swapping in Generic");
            Console.WriteLine("a={0},b={1}", a, b);
            Console.WriteLine("c={0},d={1}", c, d);

            Console.WriteLine();
            Console.WriteLine("Generic with 2 methods");
            objMethod.swapGeneric1 <int, string>(5, "Sachin");
            objMethod.swapGeneric1 <int, int>(5, 6);
            Console.WriteLine();



            Console.ReadLine();
        }