【c#基础】泛型

1:减少代码的选项可以是用Object类,也可以使用泛型

但是Object类进行类型传递不是类型安全的。泛型类使用泛型类型保证了类型安全。

泛型类 泛型方法 泛型接口

泛型优点:

1:性能

装箱和拆箱很容易使用,但性能损失比较大。

泛型的话在编译的时候就会动态生成我们定义他的类型,这样就不用进行装箱和拆箱。

var list=new List<int>();

上面这一句的话编译的时候就会编译成对应的int类型了,所以在运行的时候不用在进行装拆箱操作了。

2:类型安全

就是说你定义了一个List<int>() 这边只能添加int类型的数据不允许你添加其他类型,向ArrayList() 就可以 同时添加int string等不同类型。这样在调用的时候如果定义的是int类型,但是取到的是string 类型这样运行就会报错。

3:二进制代码的重用

泛型允许更好的重用二进制代码。泛型类可以定义一次,并且可以用去多不同的类型实例化。

4:代码扩展

泛型类的定义会放在程序集中,所以用特定泪I型那个实例化泛型类不会在IL代码中复制这些 类。

在JIT编译器把泛型类编译为本地代码时,会给每个类型创建一个新类,引用类型共享同一个本地类的所有相同实现代码,因为引用类型在实例化的泛型类中只需要4个字节内存地址(32位系统),就可以引用一个类型。值类型包含在实例化的泛型类的内存中,同时因为每个值类型对内存要求都不同,所以要为每个值类型实例化一个新类。

 

【c#基础】泛型

上一篇:macOS 如何像 Windows 一样使用鼠标


下一篇:vue-learning:26 - component - 组件三大API之一:prop