首页 > 代码库 > C#基础知识之八

C#基础知识之八

C#基础知识之八

由朱朱编写,转载请注明出自朱朱家园http://blog.csdn.net/zhgl7688

1、  枚举数类型有3种:非泛型接口(IEnumerator/IEnumerable接口)、泛型接口(IEnumerator<T>/IEnumerable<T>接口)、不使用接口。

2、  IEnumerator接口包含3个函数成员:current返回当前位置项(只读属性),movenext把枚举数位置前到下一项的方法、返回布尔值说明新位置是否有效,reset方法把位置重置为原始状态。

3、  创建非泛型接口的枚举数类,必须声明实现IEnumerator接口的类,其接口类中有3个方法:Current、MoveNext、Reset,它是System.Collections命名空间的成员。

4、  IEnumerable接口只有一个成员GetEnumerator方法,它返回对象的枚举数。

5、  泛型枚举接口与非泛型枚举接口的区别:前者实现了current属性,返回object的引用。后者返回实际类型的对象。

6、  泛型枚举接口从两个接口继承:非泛型IEnumerator接口和IDisposable接口。

7、  IDisposable接口只有Dispose的类型为void的无参数方法,用于释放非托管资源。

8、  迭代器是有一个或多个yield语句的代码块,有三种:方法主体,访问器主体,运算符主体。

9、  迭代器有两个特殊语句:yieldreturn语句执行了序列中返回的下一项。Yield break语句指定在序列中没有更多项。

10、             迭代器需要System.Colletions.Generic命名空间,用using引用。

11、              

12、             泛型委托:声明泛型委托在委托名称和委托参数列表之间,用尖括号中放类型参数列表。

13、             类型参数列表包括:返回值、形参数表、约束子句。委托返回的类型在参数表的最后一个。

14、             编译器可以从方法参数中推断类型参数时,可以省略类型参数和调用中的尖括号。

15、             泛型类的扩展方法:必须声明为static,静态类的成员,第一个参数类型中必须有关键词this、后面是扩展的泛型类的名字。

16、             LINQ是集成到C#和VB.NET用于提供查询数据能力的一个新特性。以数据库查询的方式 查询数据集合。允许从数据库、程序对象集合以及XML文档中查询数据。

由朱朱编写,转载请注明出自朱朱家园http://blog.csdn.net/zhgl7688

C#基础知识之八