泛型之关键字default、where

①:default

      在泛型中,要为某个使用泛型的变量初始化值,可是我们需要考虑的是这个泛型可能是引用类型,也可能是值类型,这时我们可以借助default来完成初始化复制。T value = default(T);如果T是引用类型,value = null,如果是T是值类型,value = 0.

②:where

                                       约束                                                                  说明

                                where T:struct                                     使用结构约束,类型T必须是值类型

                                where T:calss                                       类约束指定,类型T必须是引用类型

                                where T:IFoo                                            指定类型T必须执行结构IFoo

                                where T:Foo                                            指定类型T必须派生于基类Foo

                               where T:new()                                       指定类型T必须有一个默认构造函数 

                                 where T:U                                          类型T派生于泛型类型V(裸类型约束)

   (注:在CRL2.0中,只能为默认构造函数定义约束,不能为其他构造函数定义约束)

posted @ 2010-01-23 11:27  勇者归来  阅读(366)  评论(0编辑  收藏  举报