閱讀目錄
一:什麼是泛型?
二: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 }