首页 > 代码库 > c#-FrameWork02泛型

c#-FrameWork02泛型

 

泛型

l  泛型(generic)编程是一种编程范式,它利用”参数化类型”将类型抽象化,从而可以实现更为灵活的复用.把数据类型参数化

sh泛型集合

泛型集合与集合的对比

 

泛型集合类

非泛型集合类

List<T>

ArrayList

Dictionary<Tkey,Tvalue>

HashTable

Stack<T>

Stack

Queue<T>

Queue

sortedDictionary<Tkey,Tvalue>

sortedList

泛型集合的优点

       提供了一个强类型的编程模式(类型安全)

减少了拆箱装箱

性能得到提高

减小了内存消耗

泛型类,方法

l  泛型(generic)编程是一种编程范式,它利用”参数化类型”将类型抽象化,从而可以实现更为灵活的复用.把数据类型参数化

l  优点:

  • 缓解代码膨胀的情况
  • 提供了一个强类型的编程模型,类型安全
  • 编译时类型检查减小了运行时转换异常的几率
  • 不需要装箱操作
  • 性能提高
  • 减小了内存消耗

语法:

           Class person<T> where  T:约束的条件

{

              Public  T1  out<T1>(T1 a,T1 b) where T:条件

{

              //语句

}

}

l  泛型参数的约束: Where T:constrain1,constrain2     constrain1,constrain2是约束内容

约束

定义

struct

类型是值类型

Class

类型是引用类型

Base class

类型必须是基类或继承自基类

interface

类型必须是接口或实现接口的方法

New ()

类型必须是一个无参的构造函数

 

约束条件:

值类型----struct

引用类型---- class

实现接口---- 接口名字

基类或继承自基类----基类名字