参考博文出处:http://www.360doc.com/content/11/1116/11/130258_164743728.shtml
在学习C/C++中没有接触过泛型,在C#的学习中遇到了泛型,刚开始对泛型很陌生,现在我们来走进了解泛型吧!
泛型的出现是为了解决代码重复!
举个最简单的例子,要给一串数组排序,如果是整型数组我们一般会这么写:
1 public void sort(int[]a){ 2 ... 3 }
而如果是char型我们又只能把排序函数写成:
1 public void sort(char[]a){ 2 ... 3 }
为了满足不同类型的数组,我们往往需要写多个函数,但是函数里面的操作都是一样的,为了解决这中问题,就引入了泛型这个概念
在c#中用T这个字符来代替类型,在函数定义阶段可以不用指定特定的类型
1 public void sort(T[]a){
2 ...
3 }
举个详细的例子吧
public class Msort<T> { public void Sort(T[] a) { int length=a.length; for(int i=0;i<length-1;i++) for(int j=0;j<length-i-1;j++) { if(a[j]>a[j+1]) { T temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } }
具体的调用过程:
Msort<int> s = new SortHelper<int>(); int[] a = {5,9,0,2,3}; s.Sort(array);
浙公网安备 33010602011771号