Lambda表达式也是C#3.0中最重要的特性之一。 1、Lambda表达式的简介 Lambda表达式可以理解为一个匿名方法,它可以包含表达式和语句,并且用于创建委托或转换为表达式树。在使用Lambda表达式时,都会使用“=>”运算符,该运算符的左边是匿名方法的输入参数,右边则是表达式或语句块。 1 ...
分类:
其他好文 时间:
2016-08-14 23:42:10
阅读次数:
212
Lambda简介 Lambda作为函数式编程中的基础部分,在其他编程语言(例如:Scala)中早就广为使用,但在Java领域中发展较慢,直到java8,才开始支持Lambda。 抛开数学定义不看,直接来认识Lambda。Lambda表达式本质上是匿名方法,其底层还是通过invokedynamic指令 ...
分类:
编程语言 时间:
2016-08-11 11:25:51
阅读次数:
324
与前面的可空类型是一样的,匿名方法也是C# 2.0里面提出来的。 1 匿名方法 1.1 什么是匿名方法? 顾名思义,就是没有名称的方法,因为没有名称,匿名方法只能在函数定义(匿名方法是把方法的实现和定义嵌套在了一起)的时候被调用,在其他任何情况下都不能被调用。对于编译器来说,匿名方法并不是没有名字的 ...
分类:
其他好文 时间:
2016-08-09 00:18:02
阅读次数:
167
可空类型、匿名方法和迭代器这三个优美的特性是在C#2.0里面提出来的。 1、可空类型 当我们在使用数据库的时候,会发现这样的一个矛盾点:数据库的字段设置是允许为null的,比如日期的字段,当你想把数据库表映射为C#中的对象时会发现,DateTime类型在C#语言中是不能为null的! 1.1 简介 ...
分类:
其他好文 时间:
2016-08-07 23:06:50
阅读次数:
249
匿名方法(C# 编程指南) Visual Studio 2015 Visual Studio 2015 在 2.0 之前的 C# 版本中,声明委托的唯一方法是使用命名方法。 C# 2.0 引入了匿名方法,而在 C# 3.0 及更高版本中,Lambda 表达式取代了匿名方法,作为编写内联代码的首选方式 ...
分类:
其他好文 时间:
2016-08-05 11:34:18
阅读次数:
160
一、前言 可能项目规模较小,项目中除了增删改查就只剩下业务流程,以前都没怎么弄明白的东西时间长了就越发的模糊了... 二、使用场景 MSDN:delegate 是一种可用于封装命名或匿名方法的引用类型。 委托类似于 C++ 中的函数指针;但是,委托是类型安全和可靠的。 BeginInvoke 方法启 ...
分类:
其他好文 时间:
2016-08-03 15:24:13
阅读次数:
177
最近在和朋友讨论的时候发现了一个很有意思的问题,就是捕捉变量,我现在下面把代码贴出来,大家可以先猜猜结果,然后我们在一起讨论为什么。 Main方法: 其实这一块我也有点疑问,希望大家可以在评论中一起探讨。 ...
分类:
Web程序 时间:
2016-08-01 01:46:27
阅读次数:
219
匿名函数是一个“内联”语句或表达式,可在需要委托类型的任何地方使用。可以使用匿名函数来初始化命名委托,或传递命名委托(而不是命名委托类型)作为方法参数。 C# 中委托的发展 在 C# 1.0 中,您通过使用在代码中其他位置定义的方法显式初始化委托来创建委托的实例。 C# 2.0 引入了匿名方法的概念 ...
分类:
其他好文 时间:
2016-07-20 23:01:16
阅读次数:
193
网上关于java lambda的例子很多,但是这些五花八门的例子很不常见不常用,最后导致初学者望而却步,其实我们抓住lambda的本质之后,会发现lambda还是很好理解的。毕竟,java8设计lambda的初衷是给开发者提供便利,而不是制造障碍。
lambda表达式本质是匿名方法,下面是一些lambda表达式:
(int x, int y) -> x + y
() -> 42...
分类:
其他好文 时间:
2016-07-13 16:24:47
阅读次数:
249
每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默。我眼中的程序员大多都不爱说话,默默承受着编程的巨大压力,除了技术上的交流外,他们不愿意也不擅长和别人交流,更不乐意任何人走 ...