摘要:
有效地处理数据时当今程序设计语言和框架的一个任务。.NET拥有一个精心构建的集合类系统,它利用迭代器的功能实现对数据的顺序访问。惰性枚举是一个迭代方法,其核心思想是只在需要的时候才去读取数据。这个思想保证了任何迭代算法都十分有效,同时又可以灵活地根据需要读取任意多的数据,而且不会造成过多的开销。C#函数式程序设计之枚举元素.NET集合类型的基础是一个名为IEnumberable的接口,以下就是这个接口的声明:public interface IEnumerable{ IEnumerator GetEnumerator();}实际上IEnumberable接口只允许程序员做一件事:查询类的... 阅读全文
摘要:
C#函数式程序设计之约束类型每当使用泛型类型时,可以通过where字句对泛型添加约束:static void OutputValue(T value) where T : ListItem{ Console.WriteLine("String list value: {0}", value.Value);}这个例子直观地声明了一个约束:类型T必须与ListItem相匹配。泛型类型约束T:X表示T可以是X、X的派生对象或X的实现(假如X是一个接口)。换言之,假如类型T的一个实例为t,则可以把它赋给一个变量:X x=t;约束可以使用具体的类型,但是在这些情形下,类型不可以是密封 阅读全文