泛型介绍

  • 在编程程序时,经常会遇到功能非常相似的模块,只是它们处理的数据不一样。但我们没有办法,只能分别写多个方法来处理不同的数据类型。
  • 我们可以通过泛型,用同一个方法来处理传入不同种类型参数的办法呢。
  • List< T >和 Dictionary<K,V>就是C#写好的泛型类

泛型类

泛型类中的< T >里面的 T 可以用任何字母来代替,但一般使用大写字母T。 T 是 Type 类型的缩写。

eg:

public class MyClass<T>{ }
public class MyClass<M,K>{ }
public class MyClass<A,B,C,D>{ }

类中有几个类型不确定就可以在< >中放几个占位符

泛型方法

  • 与泛型类类似,在定义方法的时候,方法名的后面使用< T >来定义。
  • 如果当前的方法所在的类中,已经定义了这个类型,方法名的后面就不需要再次定义,反之则必须定义。

eg:

public T MyFun() { }//T是返回值,如果T已经在泛型类中被定义
public K MyFun<K>(K name){ }