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(); }
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(); }