C#基础知识之8
由朱朱编写,转载请注明出自朱朱家园http://blog.csdn.net/zhgl7688
1、 枚举数类型有3种:非泛型接口(IEnumerator/IEnumerable接口)、泛型接口(IEnumerator<T>/IEnumerable<T>接口)、不使用接口。
2、 IEnumerator接口包括3个函数成员:current返回当前位置项(只读属性),movenext把枚举数位置前到下1项的方法、返回布尔值说明新位置是不是有效,reset方法把位置重置为原始状态。
3、 创建非泛型接口的枚举数类,必须声明实现IEnumerator接口的类,其接口类中有3个方法:Current、MoveNext、Reset,它是System.Collections命名空间的成员。
4、 IEnumerable接口只有1个成员GetEnumerator方法,它返回对象的枚举数。
5、 泛型枚举接口与非泛型枚举接口的区分:前者实现了current属性,返回object的援用。后者返回实际类型的对象。
6、 泛型枚举接口从两个接口继承:非泛型IEnumerator接口和IDisposable接口。
7、 IDisposable接口只有Dispose的类型为void的无参数方法,用于释放非托管资源。
8、 迭代器是有1个或多个yield语句的代码块,有3种:方法主体,访问器主体,运算符主体。
9、 迭代器有两个特殊语句:yieldreturn语句履行了序列中返回的下1项。Yield break语句指定在序列中没有更多项。
10、 迭代器需要System.Colletions.Generic命名空间,用using援用。
11、
12、 泛型拜托:声明泛型拜托在拜托名称和拜托参数列表之间,用尖括号中放类型参数列表。
13、 类型参数列表包括:返回值、形参数表、束缚子句。拜托返回的类型在参数表的最后1个。
14、 编译器可以从方法参数中推断类型参数时,可以省略类型参数和调用中的尖括号。
15、 泛型类的扩大方法:必须声明为static,静态类的成员,第1个参数类型中必须有关键词this、后面是扩大的泛型类的名字。
16、 LINQ是集成到C#和VB.NET用于提供查询数据能力的1个新特性。以数据库查询的方式 查询数据集合。允许从数据库、程序对象集合和XML文档中查询数据。
由朱朱编写,转载请注明出自朱朱家园http://blog.csdn.net/zhgl7688