首页 > 代码库 > 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#基础知识之八