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

推荐订阅源

雷峰网
雷峰网
Y
Y Combinator Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
The Cloudflare Blog
博客园_首页
J
Java Code Geeks
A
About on SuperTechFans
人人都是产品经理
人人都是产品经理
量子位
C
Check Point Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 三生石上(FineUI控件)
L
LangChain Blog
N
Netflix TechBlog - Medium
Hugging Face - Blog
Hugging Face - Blog
B
Blog
美团技术团队
Microsoft Security Blog
Microsoft Security Blog
P
Proofpoint News Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
宝玉的分享
宝玉的分享
罗磊的独立博客
MongoDB | Blog
MongoDB | Blog
Last Week in AI
Last Week in AI

博客园 - 枫之一刀

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:代码扩展。