惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
D
Docker
月光博客
月光博客
MongoDB | Blog
MongoDB | Blog
Vercel News
Vercel News
美团技术团队
博客园 - 叶小钗
I
InfoQ
Jina AI
Jina AI
博客园 - 司徒正美
雷峰网
雷峰网
B
Blog
Y
Y Combinator Blog
A
About on SuperTechFans
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
Microsoft Security Blog
Microsoft Security Blog
Stack Overflow Blog
Stack Overflow Blog
腾讯CDC
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Recent Announcements
Recent Announcements
V
V2EX
N
Netflix TechBlog - Medium

博客园 - 枫之一刀

Rest的基本原则 常量 三值逻辑 (Three-Valued Logic) 多表联接 join 连接类型的区分 OBJECT_ID(Transact-Sql) 逻辑查询处理 配置数据库对象的权限 object 类型 SqlServer 用户定义函数 IEnumerable接口 internal关键字 yield关键字 as 关键字 装箱拆箱 is 关键字 CSS圆角实现原理(个人见解) margin 值类型和引用类型区别
泛型概述
枫之一刀 · 2011-08-27 · via 博客园 - 枫之一刀

泛型概述

Posted on 2011-08-27 13:47  枫之一刀  阅读(162)  评论()    收藏  举报

CLR2.0的一个新特性就是泛型。在CLR1.0中,要创建一个灵活的类或方法,但该类或方法在编译期间不知道使用什么类,就必须以Object类为基础。而Object类在编译期间没有类型安全性。因此必须进行强制类型转换。另外,给值类型使用Object类会有性能损失。

CLR2.0(.Net 3.5 基于CLR2.0)提供了泛型。有了泛型,就不需要Objcet类。

System.Collections.Generic命名空间中的List <T>类不使用对象,而是在使用定义类型。

泛型优点1:性能。

泛型优点2:类型安全

如果在ArrayList类中添加一个整数、一个字符串、一个MyClass类型的对象,如果这个集合使用Foreach语句迭代并转换为Int那么会出现异常。

在泛型类List<T>中,泛型类型T定义了允许使用的类型。有了List<int>的定义。就只能吧整数类型添加到集合中。

泛型优点3:二进制代码的重用。

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

泛型类型可以在一种语言中定义,在另一种.Net 语言中使用。

泛型优点4:代码扩展。