1.什么是泛型和C#中泛型在Class上的实现
-
阅读目录
一:什么是泛型?
二:C#中泛型在Class上的实现
一:什么是泛型?
我们在编程的时候需要一个数据类型,但是在刚开始的时候还不确定这个数据类型是怎么样的,或者说对于不同的多个数据类型有相同的功能和相同的操作,又不想多次的写代码,就需要用到泛型,表示同一个操作针对不同的数据类型
二:C#中泛型在Class上的实现
提高了代码的重用性
是类型安全的,实例化整数类型new MyGenericArray<int>,不可能添加字符串类型进去
这个array数组可以是整数型的数组,也可以是字符串型的数组,还可以是其他数据类型的数组
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace Generic 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 MyGenericArray<int> intArray = new MyGenericArray<int>(5); 14 for(int i = 0;i < 5; i++) 15 { 16 intArray.SetItem(i, i * 5); 17 } 18 for(int i = 0;i < 5; i++) 19 { 20 Console.WriteLine(intArray.GetItem(i) + ""); 21 } 22 23 MyGenericArray<char> charArray = new MyGenericArray<char>(5); 24 for (int i = 0; i < 5; i++) 25 { 26 charArray.SetItem(i, (char)(i + 97)); 27 } 28 for (int i = 0; i < 5; i++) 29 { 30 Console.WriteLine(charArray.GetItem(i) + ""); 31 } 32 33 Console.ReadLine(); 34 } 35 } 36 37 class MyGenericArray<T> 38 { 39 private T[] array; 40 41 public MyGenericArray(int size) 42 { 43 array = new T[size + 1]; 44 } 45 46 public T GetItem(int index) 47 { 48 return array[index]; 49 } 50 51 public void SetItem(int index, T value) 52 { 53 array[index] = value; 54 } 55 } 56 }
旧书不厌百回读,熟读深思子自知。