aluckdog
如果在运算过程中使用<>,表示是不等于。在<>之间加入类型参数,如<int>,这是有关泛型方面的知识。1.概述型并不是一个全新的结构,其他语言中有类似的概念如:C++模板就与泛型相当泛型不仅是C#语言的一种结构,而且是CLR定义的所以,即使泛型类是在C#中定义的,也可以在Visual Basic中用一个特定的类型实例化该泛型2.泛型的优点(1)性能System.Collections —— 非泛型集合类System.Collections. Generic —— 泛型集合类对值类型使用非泛型集合类,在把值类型转换为引用类型,和把引用类型转换为值类型时,需要进行装箱和拆箱操作[知识点]装箱和拆箱.NET很容易把值类型转换为引用类型,所以可以在需要对象(对象是引用类型)的任意地方使用值类型例如,int可以赋予一个对象从值类型转换为引用类型称为装箱。如果方法需要把一个对象作为参数,而且传送了一个值类型,装箱操作就会自动进行另一方面,装箱的值类型可以使用拆箱操作转换为值类型。在拆箱时,需要使用类型转换运算符装箱和拆箱操作很容易使用,但性能损失比较大,迭代许多项时尤其如此而通过使用泛型,如:System.Collections.Generic命名空间中的List<T>类不使用对象,而是在使用时定义类型List<int> list = new List<int>();List<T>类的泛型类型定义为int,所以int类型在JIT编译器动态生成的类中使用,不再进行装箱和拆箱操作(2)类型安全(3)二进制代码的重用更好地重用二进制代码。泛型类可以定义一次,用许多不同的类型实例化。而不需要像C++模板那样访问源代码泛型类型可以在一种语言中定义,在另一种.NET语言中使用(4)泛型类的定义会放在程序集中,所以用某个类型实例化泛型类不会在IL代码中复制这些类但在JIT编译器把泛型类编译为内部码时,会给每个值类型创建一个新类;引用类型共享同一个内部类的所有实现代码(5)命名约定泛型类型的名称用字母T作为前缀如没有特殊的要求,泛型类型允许用任意类替代,且只使用了一个泛型类型,就可以用字符T作为泛型类型的名称如泛型类型有特定的要求(比如:必须实现一个接口或派生于基类),或者使用了两个或多个泛型类型,那么就应给泛型类型使用描述性的名称