1.什么是泛型和C#中泛型在Class上的实现

时间:2022-11-16 10:15:07
  • 阅读目录

     一:什么是泛型?

     二: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 }

 1.什么是泛型和C#中泛型在Class上的实现