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 }

 

 

 

 

  

 

posted @ 2016-02-27 21:25  David.Meng  阅读(2588)  评论(0编辑  收藏  举报