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