8.3.3.1 C# 中的组合行为
这一章,我们首先看到的是用C# 代码写的示例,声明只有一个方法的接口表示检查,然后,为了更方便的方法写代码,我们使用了函数(和 Func 委托)。如果我们想要实现处理两个函数的程序,就像现在用 F# 所做的,可能会立即转回接口。在 C# 中,使用接口肯定要比使用元组或类,以函数作为其成员更方便、更合理。我们已经说过,在 C# 中,有两种选择:对于简单的行...
lambda只是一个表达式,函数体比def简单很多,很多时候定义def,然后写一个函数太麻烦,这时候就可以用lambda定义一个匿名函数。lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。lambda表达式是起到一个函数速写的作用。允许在代码内嵌入一个...
分类:
编程语言 时间:
2014-12-04 23:01:40
阅读次数:
322
-------------- >>>?a
{‘a‘:?5,?‘c‘:?3,?‘b‘:?4,?‘e‘:?1,?‘d‘:?2}
>>>?sorted(a.items())
[(‘a‘,?5),?(‘b‘,?4),?(‘c‘,?3),?(‘d‘,?2),?(‘e‘,?1)]
>>>?sorted(aa.items(),key?=?lambda?d:d...
分类:
编程语言 时间:
2014-12-04 21:47:22
阅读次数:
223
8.3.2 构建组合行为
在清单 8.11 中,检查和报告验证最低收入和最小当前工作年限的函数,明显重复。这些检查有类似的结构:都检查客户的某一属性是否小于最小的允许值。
找出共性是只删除重复第一步,下一步是要看 checkJobYears 和 checkIncome 函数(连同其报表函数)的哪部分是不同的:
■ 检查不同的属性。
■ 使用不同的最小值。
■ 有略微不同的消息。
...
分类:
其他好文 时间:
2014-12-04 15:39:34
阅读次数:
141
本文翻译自CodeProject上的一篇简单解释Lambda表达式的文章,适合新手理解。译文后面我补充了一点对Lambda表达式的说明。1.什么是Lambda表达式?Lambda表达式是一种匿名方法,多数情况下用来在LINQ中快速创建委托。简单地说,它代表一个没有被定义过的方法,比如没有访问修饰符、...
分类:
其他好文 时间:
2014-12-03 18:27:03
阅读次数:
179
FluentData 轻量级.NET ORM持久化技术详解(C#4.5/Linq/Lambda,事务/储存过程,开源框架)课程讲师:风舞烟课程分类:.NET框架适合人群:初级课时数量:19课时用到技术:FluentData涉及项目:FluentData轻量级咨询QQ:1840215592本课程系《基...
分类:
Web程序 时间:
2014-12-03 15:41:19
阅读次数:
252
1. 普通绑定:public void button1_Click(object sender, EventArgs e) { MessageBox.Show("ok"); }this.button1.Click += button1_Click;2...
目录(?)[+]目录LINQ查询结果集SystemArray 数组基于SystemArray定义数组基于类型定义数组数组元素的清空SystemArray类静态成员不用循环填充数组数组类实例成员SystemCollections 集合ArrayList实例成员静态成员ListTConvertAllFo...
分类:
编程语言 时间:
2014-12-02 18:51:05
阅读次数:
704
8.2.2 命令设计模式(The command design pattern)
命令模式(commandpattern)所描述的方法,表示在应用程序中的动作,相对于前一个模式,它常用于参数化已知的行为(比如,筛选列表)但缺少部分(条件),而命令模式经常保存某些“工作单元”,能够在以后调用。我们经常看到命令集合,用来描述用户可以选择处理或操作的步骤。看一下图8.2,就会认识到,接口看起来像...
分类:
其他好文 时间:
2014-12-02 16:40:43
阅读次数:
198
8.1.4 在 F# 中使用函数列表
首先,我们声明一个表示有关客户信息的类型;客户有很多属性,因此,用F# 的记录类型表示最自然的选择,我们在前一章已经看过。清单 8.4 显示了类型声明,和所创建样本客户的代码。
清单 8.4 Client 记录类型和样本值 (F# Interactive)
> type Client =
{ Name : string; Inco...
分类:
其他好文 时间:
2014-12-02 10:37:42
阅读次数:
190