之前介绍了如何轻松使用已经做好了的泛型,本文介绍我们自己写一个泛型类和方法的流程。
第一个泛型方法
如上实现了一个泛型(虽然这个 Foo 方法代码极其简单),但是通过指定 Foo<T> 明确了参数、返回值的类型。
有人会问:
同时使用多个泛型
默认值
由于泛型不知道使用时的类型,所以它就不知道自己将是引用类型,还是值类型(分数值类型和结构类型)。我们希望引用类型时为变量赋 null 初始值,值类型中的数值类型时为变量赋 0 初始值。方法是使用 default 关键字。
泛型不是 object
泛型不是 object,不会涉及装箱、拆箱操作,所以以下代码均是错误的:
泛型类
前面介绍了泛型方法,其实泛型类、泛型接口、泛型委托的创建都类似于泛型方法,以泛型类为例。