摘要:
在我们的实际开发中已经会遇到可空类型,而在C#中自从2.0之后就提供了可空类型(Nullable),普通的值类型是不可以赋值为NULL,但是在类型的后面加上问号就变成了可空类型,这样就可以赋值为NULL了。当然这样的方式也可以用于函数式编程中,但函数式编程有自己的独特方式来解决这种问题,今天我... 阅读全文
随笔分类 - 函数式编程
C#函数式编程之由函数构建函数
2015-03-17 16:30 by y-z-f, 2965 阅读, 收藏, 编辑
摘要:
在面向对象的编程中,如果我们需要复用其他的类,我们可以通过继承来实现。而在函数式编程中我们也可以采取不同的方式来复用这些函数。今天的教程将会讲述两种方式,其中一个就是组合,将多个函数组合成为一个函数,另一个则是之前我们介绍过的部分应用,当然我们将会讲述如何将其高级化,来符合我们的使用要求。 组合 顾 阅读全文
C#函数式编程之序列
2015-03-16 15:01 by y-z-f, 2238 阅读, 收藏, 编辑
摘要:
过了许久的时间,终于趁闲暇的时间来继续将函数式编程这个专辑连载下去,这段时间开头是为IOS这个新方向做准备,将OC的教程写成了SWIFT版,当然我个人是支持Xamarin,但是我一般会先掌握原生态的开发,再掌握Xamarin。后面剩下的时间开发了一个XamarinApp项目,用了十几天完成的。... 阅读全文
C#函数式编程之标准高阶函数
2015-01-27 09:20 by y-z-f, 4534 阅读, 收藏, 编辑
摘要:
何为高阶函数 大家可能对这个名词并不熟悉,但是这个名词所表达的事物却是我们经常使用到的。只要我们的函数的参数能够接收函数,或者函数能够返回函数,当然动态生成的也包括在内。那么我们就将这类函数叫做高阶函数。但是今天我们的标题并不是高阶函数,而是标准高阶函数,既然加上了这个标准,就意味着在函数式编程... 阅读全文
C#函数式编程之递归调用
2015-01-26 11:19 by y-z-f, 5647 阅读, 收藏, 编辑
摘要:
关于递归相信大家已经熟悉的不能再熟悉了,所以笔者在这里就不多费口舌,不懂的读者们可以在博客园中找到很多与之相关的博客。下面我们直接切入正题,开始介绍尾递归。尾递归 普通递归和尾递归如果仅仅只是从代码的角度出发来看,我们可能发现不了他的特点,所以笔者利用两张堆栈上的图来展示具体的差距在哪,首... 阅读全文
C#函数式编程之缓存技术
2015-01-24 12:51 by y-z-f, 9079 阅读, 收藏, 编辑
摘要:
缓存技术 该节我们将分成两部分来讲解,第一部分为预计算,第二部分则为缓存。缓存这个技术对应从事开发的人员来说是非常熟悉的,从页面缓存到数据库缓存无处不在,而其最重要的特点就是在第一次查询后将数据缓存,在以后的查询过程中就无需重新计算而直接从内存中将结果返回,大大提高了性能,而我们这里的缓存则集中... 阅读全文
C#函数式编程之惰性求值
2015-01-23 10:15 by y-z-f, 3231 阅读, 收藏, 编辑
摘要:
惰性求值 在开始介绍今天要讲的知识之前,我们想要理解严格求值策略和非严格求值策略之间的区别,这样我们才能够深有体会的明白为什么需要利用这个技术。首先需要说明的是C#语言小部分采用了非严格求值策略,大部分还是严格求值策略。首先我们先演示非严格求值策略的情况,我们先在控制台项目中写一个DoOneTh... 阅读全文
C#函数式编程之部分应用
2015-01-22 18:22 by y-z-f, 4912 阅读, 收藏, 编辑
摘要:
何谓函数式编程 相信大家在实际的开发中,很多情况下完成一个功能都需要借助多个类,那么我们这里的基本单元就是类。而函数式编程则更加细化,致使我们解决一个功能的基本单元是函数,而不是类,每个功能都是由多个函数构成,并且函数之间没有直接的关系。如果简单的文字描述还不足以让你理解,下面我们就配以图来演示... 阅读全文