开篇:在上一篇中,我们了解了预定义委托与Lambda表达式等所谓的新语法,这一篇我们继续征程,看看标准查询运算符和LINQ。标准查询运算符是定义在System.Linq.Enumerable类中的50多个为IEnumerable准备的扩展方法,而LINQ则是一种类似于SQL风格的查询表达式,它们可以...
分类:
Web程序 时间:
2014-11-20 21:51:05
阅读次数:
505
6.7.2.1 处理列表
我们看一个有关使用筛选和映射更大的示例,在 F# 库中的两个函数适用于各种集合类型,但我们将只用它来处理我们已经很熟悉的列表;在 C# 中,这些方法可用于任何实现了 IEnumerable 接口的集合,所以,我们将使用泛型 .NET List 类。清单 6.21 显示了我们将要处理数据的初始化。
清单 6.21 有关城市人口的数据 (C# and F#)...
分类:
其他好文 时间:
2014-11-19 12:43:40
阅读次数:
130
Nodes: Nodes 方法返回IEnumerable类型的对象,因为返回的节点可能是不同的类型,比如XElement.我们可以使用ofType(type)来指定返回某个类型的节点. Elements : 由于获取XElements是一个非常普遍的需求,于是出现了Nodes.OfType(XEle...
分类:
其他好文 时间:
2014-11-18 23:43:16
阅读次数:
335
IEnumerable,它是一个公开枚举数,该枚举数支持在非泛型集合上进行简单的迭代。对于所有数组的遍历,都来自IEnumerable,,so我们可以一个遍历数组的通用法。public static void Print (IEnumerable myList){ int i = 0 ; for.....
分类:
编程语言 时间:
2014-11-18 13:08:26
阅读次数:
131
使用foreach循环是有IEnumerator接口来实现的,IEnumerator即实现了迭代器,在foreach中如何迭代一个集合arrayList呢? 调用arrayLis.GetEnumberator(),返回一个IEnumberator引用。 调用所返回的Enumberator接口的Mov...
分类:
Web程序 时间:
2014-11-14 22:30:57
阅读次数:
319
创建用户管理相关视图第一步:添加视图打开UsersAdminController.cs将鼠标移动到public ActionResult Index()上右键》添加视图系统会弹出对话框什么也不用改直接“添加”第二步:在创建的视图上定义一个公开枚举模型在第一行添加 @model IEnumerable...
分类:
Web程序 时间:
2014-11-12 22:34:47
阅读次数:
415
创建角色相关视图第一步:添加视图打开RolesAdminController.cs将鼠标移动到public ActionResult Index()上右键》添加视图系统会弹出对话框什么也不用改直接“确定”第二步:在创建的视图上定义一个公开枚举模型在第一行添加 @model IEnumerable第三...
分类:
Web程序 时间:
2014-11-12 01:57:23
阅读次数:
311
IEnumerable rectlist3 = rectlist.Select(rect =>newRect(rect.X + 2000, rect.Y, rect.rect.Width, rect.rect.Height));
分类:
其他好文 时间:
2014-11-09 06:12:19
阅读次数:
329
总而言之:就是在表达式中没有花括号。IEnumerable rectlist3 = rectlist.Select(rect =>newRect(rect.X + 2, rect.Y, rect.rect.Width, rect.rect.Height));因此=>接翻译成:Func(Rect re...
分类:
其他好文 时间:
2014-11-09 00:52:23
阅读次数:
349
IEnumerable这个接口非常常见,它是最基础的泛型集合接口,表示可迭代的项的序列。但是奇怪的是为什么泛型参数要带一个“out”?经过一番资料查阅后,发现此“out”和C#中的“out”类型参数的“out”并非一个意思。IEnumerable中的out表示这个接口支持“协变性”。何谓“协变性”?...
分类:
编程语言 时间:
2014-11-08 19:33:59
阅读次数:
265