C#泛型的理解和应用
我对事物的理解主要从三个方面入手(WWH),就是who is it, why we use it and how we use it?
1, Who is 泛型?
泛型是C#可复用编程的一个特色,按照高级编程书上写的,在C++ 中也有类似的,叫做模版。
泛型就是将类型参数化,也就是说不考虑数据的类型,不管是int, string,还是其他对象,泛型里的方法都可以使用,最典型的就是List<T>这个泛型,也是我最常用的,别的接触的没记住或者不多,自己定义泛型的几乎没有。
2, Why we use 泛型?
泛型的好处呢,有两条,1,提高代码的复用效率,比如说某些类型共享同一种方法,如果每个类型都这样写的话,就可能写的太多了,这个时候如果用泛型的话,就可以所有的类型复用同一种方法。2,保证了代码的类型安全。比如说List<int>这样的list类型,如果在里面加入了string类型的数据,则无法编译通过的,所以这样就保证了类型安全,注意,这里所说的类型安全意思是说同一个list的类型是一样的,如果不一样的话,就编译不通过,这样做的结果就是保证了这些类型的统一性。
3, How to use 泛型?
首先需要定义一个节点类型,这个类型包括你想要的所有的共享方法,然后将这个类型封装到一个集成IEnumerabel接口列表中,这样不同类型就可以实现这些共享的方法了。
Tips
其实我最常用的是泛型方法,定义泛型方法的时候一定要记住加上List<T>,下面是我定义的泛型方法。可以作为一个参考。
1 public void Swip<T>(ref T x, ref T y) //注意这个<T> 2 { 3 T temp; 4 temp = x; 5 x = y; 6 y = temp; 7 }

浙公网安备 33010602011771号