摘要:
前一段时间写Resume,写自己熟悉.Net 2.0。然后想到如果别人问C#2.0有些什么新特性,我应该怎么回答呢?发觉原来除了泛型(Generic)外自己也说不出什么。于是翻书查资料重新整理了思路。重新审视C#2.0的新特性,当作学习3.0的起步吧。
一、泛型(Generic)
概述:
引入泛型绝对是C#2.0的最大的新特性。通过“参数化类型”实现一份代码操作多种数据类型。泛型的优点是更好的类型安全;更好的复用;更高的效率和更清晰的约束。但说实在,除了一些通用的数据结构,集合类和通用算法外,使用到泛型的地方还不多。而且System.Collections.Generic中的类也很够用了。基本没写过自己的泛型类。
语法点:
语法方面主要是使用在类型名称后面加入“”来传入类型参数。涉及泛型类型继承的一条规则是“封闭类(所有类型都已确定)不能继承开放类(含有未确定类型)”。同时可以使用where来添加对作为参数的类型的约束。具体有四种:基类约束、接口约束、构造器约束和值/引用类型约束。最后特别提醒,delegate也是一种类型,别忘了泛型委托。
阅读全文